there are many ways to do the spacing. if your mc is sized after the width of the textfield, just add the witdh of the mc to its _x plus the 15px for spacing to get the _x of the next mc.
On 8/17/06, Aaron Roberson <[EMAIL PROTECTED]> wrote:
I'm half way there... I figured out how to resize the movie clip based on the length of the text being loaded from the name attribute of the xml node. I added the following line to my code: curr_item.name.autoSize = "left"; Now I need to figure out how to make the spacing between each menu item 15px. Sounds simple, and is for others, but now that each movie clip is a different size I'm not sure how to do that. Any help on that would be appreciated! -Aaron On 8/17/06, Elena Blanco <[EMAIL PROTECTED]> wrote: > By size, are you referring to the length of the text (in this case the > name?) > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Aaron > Roberson > Sent: Thursday, August 17, 2006 1:55 PM > To: flashcoders@chattyfig.figleaf.com > Subject: [Flashcoders] Help Getting Size of Text Dynamically > > I am creating a dynamic drop down menu using XML and I am having > trouble spacing out each menu item. > > Is there a way of determing the size of the text in each xml node? > > Thanks for your help, > Aaron > > P.S. This menu is based on a tutorial at kirupa.com. > > Here is the XML: > > <?xml version="1.0" encoding="iso-8859-1"?> > <menu name="navigation"> > <item name="Home" link="http://whitehorsemedia.com" /> > <menu name="About Us" > link="http://whitehorsemedia.com/about/index.cfm"> > <item name="Our Name" > link="http://whitehorsemedia.com/about/name.cfm" /> > <item name="News" > link="http://whitehorsemedia.com/about/news.cfm" /> > <item name="We Believe" > link="http://whitehorsemedia.com/about/believe.cfm" /> > <item name="Staff" > link="http://whitehorsemedia.com/about/staff.cfm" /> > <item name="Projects" > link="http://whitehorsemedia.com/about/projects.cfm" /> > </menu> > </menu> > > Here is the ActionScript: > > > // generates a list of menu items (effectively one menu) > // given the inputted parameters. This makes the main menu > // as well as any of the submenus > GenerateMenu = function(container, name, x, y, depth, node_xml) { > // variable declarations > var curr_node; > var curr_item; > var curr_menu = container.createEmptyMovieClip(name, depth); > > // for all items or XML nodes (items and menus) > // within this node_xml passed for this menu > for (var i=0; i<node_xml.childNodes.length; i++) { > // movieclip for each menu item > curr_item = curr_menu.attachMovie("menuitem","item"+i+"_mc", > i); > curr_item._x = x + i*curr_item._width; > curr_item._y = y; > curr_item.trackAsMenu = true; > > // item properties assigned from XML > curr_node = node_xml.childNodes[i]; > curr_item.link = curr_node.attributes.link; > curr_item.name.text = curr_node.attributes.name; > > // item submenu behavior for rollover event > if (node_xml.childNodes[i].nodeName == "menu"){ > // open a submenu > curr_item.node_xml = curr_node; > curr_item.onRollOver = curr_item.onDragOver = > function(){ > var x = 200; > var y = this._y + this._height; > GenerateMenu(curr_menu, "submenu_mc", x, y, > 1000, this.node_xml); > // show a hover color > var col = new Color(this.background); > col.setRGB(0xf4faff); > }; > }else{ // nodeName == "item" > curr_item.arrow._visible = false; > // close existing submenu > curr_item.onRollOver = curr_item.onDragOver = > function(){ > curr_menu.submenu_mc.removeMovieClip(); > // show a hover color > var col = new Color(this.background); > col.setRGB(0xf4faff); > }; > } > > curr_item.onRollOut = curr_item.onDragOut = function(){ > // restore color > var col = new Color(this.background); > > col.setTransform({ra:100,rb:0,ga:100,gb:0,ba:100,bb:0}); > }; > > // any item, menu opening or not can have actions > curr_item.onRelease = function(){ > Actions["goToURL"](this.link); > CloseSubmenus(); > }; > } // end for loop > }; > > // create the main menu, this will be constantly visible > CreateMainMenu = function(x, y, depth, menu_xml){ > // generate a menu list > GenerateMenu(this, "mainmenu_mc", x, y, depth, menu_xml.firstChild); > // close only submenus if visible durring a mouseup > // this main menu (mainmenu_mc) will remain > mainmenu_mc.onMouseUp = function(){ > if (mainmenu_mc.submenu_mc && > !mainmenu_mc.hitTest(_root._xmouse, > _root._ymouse, true)){ > CloseSubmenus(); > } > }; > }; > > // closes all submenus by removing the submenu_mc > // in the main menu (if it exists) > CloseSubmenus = function(){ > mainmenu_mc.submenu_mc.removeMovieClip(); > }; > > // This actions object handles methods for actions > // defined by the XML called when a menu item is pressed > Actions = Object(); > Actions.gotoURL = function(urlVar){ > getURL(urlVar, "_blank"); > }; > > // load XML, when done, run CreateMainMenu to interpret it > menu_xml = new XML(); > menu_xml.ignoreWhite = true; > menu_xml.onLoad = function(ok){ > // create main menu after successful loading of XML > if (ok){ > CreateMainMenu(200, 250, 0, this); > } > }; > // load first XML menu > menu_xml.load("menu.xml"); > _______________________________________________ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > > _______________________________________________ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
-- John Van Horn [EMAIL PROTECTED] _______________________________________________ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com