Flash Components      Flash Menu      Flash Gallery      Flash Slideshow      FLV Player      Flash Form      MP3 Player      PhotoFlow      Flash CMS      3D Wall      Flash Scroller

Flash / AS

Silverlight

WPF

ASP.net / PHP

Photoshop

Forums

Blog

About

 


FlashComponents
  Galleries
  Slideshows
  Menus
  Design & Effects
  Audio & Video
  User Interface
  Templates

 

 

 

 

 
XML-Driven Drop-Down Menu
         by senocular

Beginning the Coding Process
We have our XML format mapped out. Now its just a matter of interpreting the XML so that Flash will know how to construct a menu based on information provided. This is often the more difficult part in dealing with XML. It's not too hard to write the XML or even look at it with your own eyes to tell what's going on in there. But once you start to try to extract its contents using some programming language like Actionscript, you can start to get confused. If you're brand new to using XML in Flash, you may first want to read some other beginner XML tutorials here on the site to help you get acquainted. Otherwise, we'll just jump right on in.

Loading and Interpreting XML
Loading an XML file is easy. The concept of having to wait for it to load can be difficult. Often people want to use it directly after the load command which is just not possible. Being an external file, it will take some time, frames even, to completely load into the Flash player. Only then can it be used. Understanding that, we know enough to not have any actions aside from the loading of the XML until the onLoad event called in receiving file. Because of this, and because of portability and reuse of code, everything done will be based around a series of functions that will be called when needed.

Once loaded, there will be 2 basic types of information needed from the XML. This includes the node name for each node and values of the attributes of that node (i.e. name, action and variables). Whenever a particular menu is created, whether it be the main menu or a submenu these values will need to be extracted and used in the creation of a menuitem movieclip. Before doing so, however, we'll need to get to all the XML nodes, or at least those associated with whatever menu we're dealing with at the time. The best way of doing this is to simply loop through all the childNodes of a particular node in the XML object. This of course will start at the first node in the XML which is the main menu. This is represented as

xmlObject.firstChild

Child nodes are given through that (or any) node's childNodes array. This is what is looped through in order to reach all menu items for any menu node.

xmlNode.childNodes

For name of a node, we can use the nodeName property.

xmlNode.nodeName

Attributes of a node are extracted from an attributes object contained within the Flash node. The values of the attributes can then be retrieved by specifying the attribute by its name within the attributes object.

xmlNode.attributes.name
xmlNode.attributes.action
xmlNode.attributes.variables

With that, here's an Actionscript example looping through and showing the needed values of all the contents, or items, of the main menu (the first menu node) as specified in the XML file.

xmlNode = xmlObject.firstChild;
for (var i = 0; i < xmlNode.childNodes.length; i++){
 
// either "menu" or "item"
xmlNode.childNodes[i].nodeName;
 
// name of the item
xmlNode.childNodes[i].attributes.name;
 
// action of the item
xmlNode.childNodes[i].attributes.action;
 
// variables for that action
xmlNode.childNodes[i].attributes.variables;
}

Not too hard right? This is probably the hardest part, just extracting the needed info from the XML file. With this, its time to get Flash to put it to work. The XML information is just text at this point. Further Actionscript will be needed to make it all function.

 

 

 


kirupa.com's fast and reliable hosting provided by Media Temple. flash components
The Text Animation Component for Flash CS3
Check out the great, high-quality flash extensions. Buy or sell stock flash, video, audio and fonts for as little as 50 cents at FlashDen.
Check out our high quality vector-based design packs! Flash Effect Components
flash menus, buttons and components Digicrafts Components
The best flash components ever! Entheos Flash Website Templates
Upload, publish, deliver. Secure hosting for your professional or academic video, presentations & more. Screencast.com Purchase & Download Flash Components
flash components Free Website | Make a Website
Learn how to advertise on kirupa.com