[Flashcoders] Help...cant unload the xml menu...!!
Hello, i have a xml menu and when i go to other frame my menu doenst unload... i tried with the functions clearMenu and clearSubMenu but they dont work..please help..i will send the code: import mx.xpath.XPathAPI; var infoHolder:XML = new XML(); infoHolder.load(menuInfoXML); infoHolder.ignoreWhite = true; var titlePath:String = "/root"; //main menu array. var mainMenus:Array; //sub menu array. var subMenus:Array; //load the xml with xpath infoHolder.onLoad = function(ok) { if (ok) { mainMenus = mx.xpath.XPathAPI.selectNodeList(infoHolder.firstChild, titlePath+"/menu"); createTreeMenu(); } }; MovieClip.prototype.getPos = function(target:Number) { this.onEnterFrame = function() { this._y -= (this._y-target)/6; if (Math.abs(this._y-target)<0.3) { delete this.onEnterFrame; _root.newsMC.showNews.appear(); } }; }; function createTreeMenu():Void { for (i=0; i0) { var butNum:Number = new Number(this._name.substr(3, 1)); this.createSubMenu(butNum); for (i=0; ihttp://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
Re: [Flashcoders] Help...cant unload the xml menu...!!
You are attaching everything to the _root, so you need to clean up the clips one by one, unless you decide to better nest your menu & submenu items in one movieclip. You could then remove it much easier, etc. On 7/31/06, Jose Maria Barros <[EMAIL PROTECTED]> wrote: Hello, i have a xml menu and when i go to other frame my menu doenst unload... i tried with the functions clearMenu and clearSubMenu but they dont work..please help..i will send the code: import mx.xpath.XPathAPI; var infoHolder:XML = new XML(); infoHolder.load(menuInfoXML); infoHolder.ignoreWhite = true; var titlePath:String = "/root"; //main menu array. var mainMenus:Array; //sub menu array. var subMenus:Array; //load the xml with xpath infoHolder.onLoad = function(ok) { if (ok) { mainMenus = mx.xpath.XPathAPI.selectNodeList(infoHolder.firstChild , titlePath+"/menu"); createTreeMenu(); } }; MovieClip.prototype.getPos = function(target:Number) { this.onEnterFrame = function() { this._y -= (this._y-target)/6; if (Math.abs(this._y-target)<0.3) { delete this.onEnterFrame; _root.newsMC.showNews.appear(); } }; }; function createTreeMenu():Void { for (i=0; i0) { var butNum:Number = new Number(this._name.substr(3, 1)); this.createSubMenu(butNum); for (i=0; ihttp://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
Re: [Flashcoders] Help...cant unload the xml menu...!!
Oh manthank you so much..i was getting so frustrated...well..i am ...but at least..the problem is solved.. On 7/31/06, eric dolecki <[EMAIL PROTECTED]> wrote: You are attaching everything to the _root, so you need to clean up the clips one by one, unless you decide to better nest your menu & submenu items in one movieclip. You could then remove it much easier, etc. On 7/31/06, Jose Maria Barros <[EMAIL PROTECTED]> wrote: > > Hello, i have a xml menu and when i go to other frame my menu doenst > unload... > i tried with the functions clearMenu and clearSubMenu but they dont > work..please help..i will send the code: > > > > import mx.xpath.XPathAPI; > var infoHolder:XML = new XML(); > infoHolder.load(menuInfoXML); > infoHolder.ignoreWhite = true; > var titlePath:String = "/root"; > //main menu array. > var mainMenus:Array; > //sub menu array. > var subMenus:Array; > > > //load the xml with xpath > infoHolder.onLoad = function(ok) { > if (ok) { > mainMenus = mx.xpath.XPathAPI.selectNodeList( infoHolder.firstChild > , > titlePath+"/menu"); > createTreeMenu(); > } > }; > > > MovieClip.prototype.getPos = function(target:Number) { > this.onEnterFrame = function() { > this._y -= (this._y-target)/6; > if (Math.abs(this._y-target)<0.3) { > delete this.onEnterFrame; > _root.newsMC.showNews.appear(); > } > }; > }; > > > function createTreeMenu():Void { > for (i=0; i newBut = _root.attachMovie("but", "but"+i, 999+i); > newBut.arrow._alpha = 0; > newBut.shine._alpha = 0; > newBut._x = 105; > newBut._y = 180+(newBut._height+5)*i; > newBut.txt.text = mainMenus[i].attributes.txt; > newBut.link2 = mainMenus[i].attributes.url; > newBut.submenuCnt = mainMenus[i].childNodes.length; > newBut.y = newBut._y; > newBut.onRollOver = function() { > _root.tween(this, 10, 13); > this.arrow.appear(); > this.shine.appear(); > var textCol = new Color(this.txt); > textCol.setRGB(0xff); > > }; > newBut.onRollOut = function() { > _root.tween(this, 15, 10); > this.arrow.disappear(); > this.shine.disappear(); > var textCol = new Color(this.txt); > textCol.setRGB(0x6F6A63); > }; > newBut.onRelease = function() { > if (this.submenuCnt>0) { > var butNum:Number = new Number(this._name.substr(3, 1)); > this.createSubMenu(butNum); > for (i=0; i if (i _root["but"+i].getPos(_root["but"+i].y); > } else { > > _root["but"+i].getPos(_root["but"+i].y+this.submenuCnt*22); > } > } > } > else { > _root.conteudos_mc.portfolio_mc.clearSubMenus(); > for (i=0; i _root["but"+i].getPos(_root["but"+i].y); > } > > } > }; > } > } > > > MovieClip.prototype.createSubMenu = function(buttonNumber:Number):Void { > clearSubMenus(); > subMenus = mx.xpath.XPathAPI.selectNodeList(mainMenus[buttonNumber], > "/menu/submenu"); > var butNum:Number = new Number(this._name.substr(3, 1)); > for (i=0; i subBut = _root.attachMovie("submenu", "subMenu"+i, Math.random > ()*99); > subBut._alpha = 0; > subBut._x -= i; > subAppear(subBut, (i+3), 130); > subBut._y = this.y+this._height+(subBut._height+5)*i; > subBut.txt.text = subMenus[i].attributes.txt; > subBut.link2 = subMenus[i].attributes.url; > subBut.but.onRollOver = function(){ > var textSubCol = new Color(this._parent.txt); > textSubCol.setRGB(0xff); > } > subBut.but.onRollOut = function(){ > var textSubCol = new Color(this._parent.txt); > textSubCol.setRGB(0x6F6A63); > } > subBut.but.onRelease = function() { > loadMovie(this._parent.link2, "_root.conteudos_mc.vazio4_mc"); > //this doesnt disapear either... > //trace(this._parent); > }; > } > }; > > > > function clearSubMenus() { > for (k=0; k _root["subMenu"+k].removeMovieClip(); > } > } > > function clearAllMenus() { > for (i=0; i _root["but"+i].removeMovieClip(); > } > } > > > Sorry..but im really desperate with this...i tried with unloadMovie, and > ...nothing happens... > Many thanks. > > Jose Maria > ___ > 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
Re: [Flashcoders] Help...cant unload the xml menu...!!
i singed too soon...when i test locally everything works great...but when i try it in internet..it doesnt..he doestn load the xml file why...? The code is the same...but i did alter the url..like you said..: //EDIT XML PATH menuInfoXML = "./xml/menu.xml"; // DO NOT EDIT BELOW.. System.useCodepage = true; import mx.xpath.XPathAPI; var infoHolder:XML = new XML(); infoHolder.load(menuInfoXML); infoHolder.ignoreWhite = true; var titlePath:String = "/root"; //main menu array. var mainMenus:Array; //sub menu array. var subMenus:Array; infoHolder.onLoad = function(ok) { if (ok) { mainMenus = mx.xpath.XPathAPI.selectNodeList(infoHolder.firstChild, titlePath+"/menu"); createTreeMenu(); } }; MovieClip.prototype.getPos = function(target:Number) { this.onEnterFrame = function() { this._y -= (this._y-target)/6; if (Math.abs(this._y-target)<0.3) { delete this.onEnterFrame; _root.newsMC.showNews.appear(); } }; }; function createTreeMenu():Void { for (i=0; i0) { var butNum:Number = new Number(this._name.substr(3, 1)); this.createSubMenu(butNum); for (i=0; i wrote: Oh manthank you so much..i was getting so frustrated...well..i am ...but at least..the problem is solved.. On 7/31/06, eric dolecki < [EMAIL PROTECTED]> wrote: > > You are attaching everything to the _root, so you need to clean up the > clips > one by one, unless you decide to better nest your menu & submenu items > in > one movieclip. You could then remove it much easier, etc. > > On 7/31/06, Jose Maria Barros < [EMAIL PROTECTED]> wrote: > > > > Hello, i have a xml menu and when i go to other frame my menu doenst > > unload... > > i tried with the functions clearMenu and clearSubMenu but they dont > > work..please help..i will send the code: > > > > > > > > import mx.xpath.XPathAPI; > > var infoHolder:XML = new XML(); > > infoHolder.load(menuInfoXML); > > infoHolder.ignoreWhite = true; > > var titlePath:String = "/root"; > > //main menu array. > > var mainMenus:Array; > > //sub menu array. > > var subMenus:Array; > > > > > > //load the xml with xpath > > infoHolder.onLoad = function(ok) { > > if (ok) { > > mainMenus = mx.xpath.XPathAPI.selectNodeList( > infoHolder.firstChild > > , > > titlePath+"/menu"); > > createTreeMenu(); > > } > > }; > > > > > > MovieClip.prototype.getPos = function(target:Number) { > > this.onEnterFrame = function() { > > this._y -= (this._y-target)/6; > > if (Math.abs(this._y-target)< 0.3) { > > delete this.onEnterFrame; > > _root.newsMC.showNews.appear(); > > } > > }; > > }; > > > > > > function createTreeMenu():Void { > > for (i=0; i< mainMenus.length; i++) { > > newBut = _root.attachMovie("but", "but"+i, 999+i); > > newBut.arrow._alpha = 0; > > newBut.shine._alpha = 0; > > newBut._x = 105; > > newBut._y = 180+(newBut._height+5)*i; > > newBut.txt.text = mainMenus[i].attributes.txt; > > newBut.link2 = mainMenus[i].attributes.url; > > newBut.submenuCnt = mainMenus[i].childNodes.length; > > newBut.y = newBut._y; > > newBut.onRollOver = function() { > > _root.tween(this, 10, 13); > > this.arrow.appear(); > > this.shine.appear(); > > var textCol = new Color( this.txt); > > textCol.setRGB(0xff); > > > > }; > > newBut.onRollOut = function() { > > _root.tween(this, 15, 10); > > this.arrow.disappear(); > > this.shine.disappear(); > > var textCol = new Color(this.txt); > > textCol.setRGB(0x6F6A63); > > }; > > newBut.onRelease = function() { > > if ( this.submenuCnt>0) { > > var butNum:Number = new Number(this._name.substr(3, > 1)); > > this.createSubMenu(butNum); > > for (i=0; i > if (i > _root["but"+i].getPos(_root["but"+i].y); > > } else { > > > > _root["but"+i].getPos(_root["but"+i].y+this.submenuCnt*22); > > } > > } > > } > > else { > > _root.conteudos_mc.portfolio_mc.clearSubMenus(); > > for (i=0; i > _root["but"+i].getPos(_root["but"+i].y); > > } > > > > } > > }; > > } > > } > > > > > > MovieClip.prototype.createSubMenu = > function(buttonNumber:Number):Void { > > clearSubMenus(); > > subMenus = mx.xpath.XPathAPI.selectNodeList > (mainMenus[buttonNumber], > > "/menu/submenu"); > > var butNum:Number = new Number(this._name.substr(3, 1)); > > for (i=0; i > subBut = _root.attachMovie("submenu", "subMenu"+i, Math.random > > ()*99); > > subBut._alpha = 0; > > subBut._x -= i;
Re: [Flashcoders] Help...cant unload the xml menu...!!
can anyone help me? On 7/31/06, Jose Maria Barros <[EMAIL PROTECTED]> wrote: i singed too soon...when i test locally everything works great...but when i try it in internet..it doesnt..he doestn load the xml file why...? The code is the same...but i did alter the url..like you said..: //EDIT XML PATH menuInfoXML = "./xml/menu.xml"; // DO NOT EDIT BELOW.. System.useCodepage = true; import mx.xpath.XPathAPI; var infoHolder:XML = new XML(); infoHolder.load(menuInfoXML); infoHolder.ignoreWhite = true; var titlePath:String = "/root"; //main menu array. var mainMenus:Array; //sub menu array. var subMenus:Array; infoHolder.onLoad = function(ok) { if (ok) { mainMenus = mx.xpath.XPathAPI.selectNodeList(infoHolder.firstChild, titlePath+"/menu"); createTreeMenu(); } }; MovieClip.prototype.getPos = function(target:Number) { this.onEnterFrame = function() { this._y -= (this._y-target)/6; if (Math.abs(this._y-target)<0.3) { delete this.onEnterFrame; _root.newsMC.showNews.appear(); } }; }; function createTreeMenu():Void { for (i=0; i0) { var butNum:Number = new Number(this._name.substr(3, 1)); this.createSubMenu(butNum); for (i=0; i wrote: > > Oh manthank you so much..i was getting so frustrated...well..i am > ...but at least..the problem is solved.. > > > > On 7/31/06, eric dolecki < [EMAIL PROTECTED]> wrote: > > > > You are attaching everything to the _root, so you need to clean up the > > clips > > one by one, unless you decide to better nest your menu & submenu items > > in > > one movieclip. You could then remove it much easier, etc. > > > > On 7/31/06, Jose Maria Barros < [EMAIL PROTECTED]> wrote: > > > > > > Hello, i have a xml menu and when i go to other frame my menu doenst > > > unload... > > > i tried with the functions clearMenu and clearSubMenu but they dont > > > work..please help..i will send the code: > > > > > > > > > > > > import mx.xpath.XPathAPI; > > > var infoHolder:XML = new XML(); > > > infoHolder.load(menuInfoXML); > > > infoHolder.ignoreWhite = true; > > > var titlePath:String = "/root"; > > > //main menu array. > > > var mainMenus:Array; > > > //sub menu array. > > > var subMenus:Array; > > > > > > > > > //load the xml with xpath > > > infoHolder.onLoad = function(ok) { > > > if (ok) { > > > mainMenus = mx.xpath.XPathAPI.selectNodeList( > > infoHolder.firstChild > > > , > > > titlePath+"/menu"); > > > createTreeMenu(); > > > } > > > }; > > > > > > > > > MovieClip.prototype.getPos = function(target:Number) { > > > this.onEnterFrame = function() { > > > this._y -= (this._y-target)/6; > > > if (Math.abs(this._y-target)< 0.3) { > > > delete this.onEnterFrame; > > > _root.newsMC.showNews.appear(); > > > } > > > }; > > > }; > > > > > > > > > function createTreeMenu():Void { > > > for (i=0; i< mainMenus.length; i++) { > > > newBut = _root.attachMovie("but", "but"+i, 999+i); > > > newBut.arrow._alpha = 0; > > > newBut.shine._alpha = 0; > > > newBut._x = 105; > > > newBut._y = 180+(newBut._height+5)*i; > > > newBut.txt.text = mainMenus[i].attributes.txt; > > > newBut.link2 = mainMenus[i].attributes.url; > > > newBut.submenuCnt = mainMenus[i].childNodes.length; > > > newBut.y = newBut._y; > > > newBut.onRollOver = function() { > > > _root.tween(this, 10, 13); > > > this.arrow.appear(); > > > this.shine.appear(); > > > var textCol = new Color( this.txt); > > > textCol.setRGB(0xff); > > > > > > }; > > > newBut.onRollOut = function() { > > > _root.tween(this, 15, 10); > > > this.arrow.disappear(); > > > this.shine.disappear(); > > > var textCol = new Color(this.txt); > > > textCol.setRGB(0x6F6A63); > > > }; > > > newBut.onRelease = function() { > > > if ( this.submenuCnt>0) { > > > var butNum:Number = new Number(this._name.substr(3, > > 1)); > > > this.createSubMenu(butNum); > > > for (i=0; i > > if (i > > _root["but"+i].getPos(_root["but"+i].y); > > > } else { > > > > > > _root["but"+i].getPos(_root["but"+i].y+this.submenuCnt*22); > > > } > > > } > > > } > > > else { > > > _root.conteudos_mc.portfolio_mc.clearSubMenus(); > > > for (i=0; i > > _root["but"+i].getPos(_root["but"+i].y); > > > } > > > > > > } > > > }; > > > } > > > } > > > > > > > > > MovieClip.prototype.createSubMenu = > > function(buttonNumber:Number):Void { > > > clearSubMenus(); > > > subMenus
Re: [Flashcoders] Help...cant unload the xml menu...!!
might be a problem with the URL. 1. Make sure that the ../xml folder is in the WWW folder of ur server, not above it. or 2. Try doing this: var urlString:String = _root._url; urlString = urlString.substr(0,urlString.lastIndexOf("/")); urlString = urlString.substr(0,urlString.lastIndexOf("/") + 1); urlString = urlString.concat("xml/menu.xml") menuInfoXML = urlString; If it works, you may want to refactor all the statements above and make the code optimal. ~Arul Prasad. I've just elaborated in soo many statements, just in case you dont understand. On 8/1/06, Jose Maria Barros <[EMAIL PROTECTED]> wrote: can anyone help me? On 7/31/06, Jose Maria Barros <[EMAIL PROTECTED]> wrote: > > i singed too soon...when i test locally everything works great...but when > i try it in internet..it doesnt..he doestn load the xml file > > why...? > > The code is the same...but i did alter the url..like you said..: > > //EDIT XML PATH > menuInfoXML = "./xml/menu.xml"; > // DO NOT EDIT BELOW.. > > System.useCodepage = true; > > import mx.xpath.XPathAPI; > var infoHolder:XML = new XML(); > infoHolder.load(menuInfoXML); > infoHolder.ignoreWhite = true; > var titlePath:String = "/root"; > //main menu array. > var mainMenus:Array; > //sub menu array. > var subMenus:Array; > > infoHolder.onLoad = function(ok) { > if (ok) { > mainMenus = mx.xpath.XPathAPI.selectNodeList( infoHolder.firstChild, > titlePath+"/menu"); > createTreeMenu(); > } > }; > > > MovieClip.prototype.getPos = function(target:Number) { > this.onEnterFrame = function() { > this._y -= (this._y-target)/6; > if (Math.abs(this._y-target)<0.3) { > delete this.onEnterFrame; > _root.newsMC.showNews.appear(); > } > }; > }; > > > function createTreeMenu():Void { > for (i=0; i newBut = _root.conteudos_mc.portfolio_mc.attachMovie("but", > "but"+i, 999+i); > > newBut.arrow._alpha = 0; > newBut.shine._alpha = 0; > newBut._x = 18; > newBut._y = 93+(newBut._height+5)*i; > > newBut.txt.text = mainMenus[i].attributes.txt; > newBut.link2 = mainMenus[i].attributes.url; > newBut.submenuCnt = mainMenus[i].childNodes.length; > newBut.y = newBut._y; > newBut.onRollOver = function() { > _root.conteudos_mc.portfolio_mc.tween(this, 16, 18); > > this.arrow.appear(); > this.shine.appear(); > var textCol = new Color(this.txt); > textCol.setRGB(0xff); > > }; > newBut.onRollOut = function() { > _root.conteudos_mc.portfolio_mc.tween(this, 18, 16); > > this.arrow.disappear(); > this.shine.disappear(); > var textCol = new Color(this.txt); > textCol.setRGB(0x6F6A63); > }; > newBut.onRelease = function() { > if (this.submenuCnt>0) { > var butNum:Number = new Number(this._name.substr(3, 1)); > this.createSubMenu(butNum); > for (i=0; i if (i > _root.conteudos_mc.portfolio_mc["but"+i].getPos(_root.conteudos_mc.portfolio_mc["but"+i].y); > > } else { > > _root.conteudos_mc.portfolio_mc["but"+i].getPos(_root.conteudos_mc.portfolio_mc["but"+i].y+this.submenuCnt*22); > > } > } > } > else { > _root.conteudos_mc.portfolio_mc.clearSubMenus(); > for (i=0; i > _root.conteudos_mc.portfolio_mc["but"+i].getPos(_root.conteudos_mc.portfolio_mc["but"+i].y); > > } > //getURL(this.link); > > } > }; > } > } > > > MovieClip.prototype.createSubMenu = function(buttonNumber:Number):Void { > clearSubMenus(); > subMenus = mx.xpath.XPathAPI.selectNodeList(mainMenus[buttonNumber], > "/menu/submenu"); > var butNum:Number = new Number(this._name.substr(3, 1)); > for (i=0; i subBut = _root.conteudos_mc.portfolio_mc.attachMovie("submenu", > "subMenu"+i, Math.random()*99); > > subBut._alpha = 0; > subBut._x -= i; > subAppear(subBut, (i+3), 30); > > subBut._y = this.y+this._height+(subBut._height+5)*i; > subBut.txt.text = subMenus[i].attributes.txt; > subBut.link2 = subMenus[i].attributes.url; > subBut.but.onRollOver = function(){ > var textSubCol = new Color(this._parent.txt); > textSubCol.setRGB(0xff); > } > subBut.but.onRollOut = function(){ > var textSubCol = new Color(this._parent.txt); > textSubCol.setRGB(0x6F6A63); > } > subBut.but.onRelease = function() { > loadMovie(this._parent.link2, "_root.conteudos_mc.vazio4_mc"); > > trace(this._parent.link2); > > }; > } > }; > > > function clearSubMenus() { > for (k=0; k _root.conteudos_mc.portfolio_mc
Re: [Flashcoders] Help...cant unload the xml menu...!!
Hi Arul, Well...i tested..and the problem still there...maybe its because the xml object is not in the root?its inside a movieclip, then inside other movieclip. I case you dont understand what i mean is the code that ive put here...is in a frame that is not in the root, but inside a movieclip(that is in the root) and in other movieclip...maybe is that the problem? thanks. On 8/1/06, Arul Prasad M L <[EMAIL PROTECTED]> wrote: might be a problem with the URL. 1. Make sure that the ../xml folder is in the WWW folder of ur server, not above it. or 2. Try doing this: var urlString:String = _root._url; urlString = urlString.substr(0,urlString.lastIndexOf("/")); urlString = urlString.substr(0,urlString.lastIndexOf("/") + 1); urlString = urlString.concat("xml/menu.xml") menuInfoXML = urlString; If it works, you may want to refactor all the statements above and make the code optimal. ~Arul Prasad. I've just elaborated in soo many statements, just in case you dont understand. On 8/1/06, Jose Maria Barros <[EMAIL PROTECTED]> wrote: > > can anyone help me? > > On 7/31/06, Jose Maria Barros <[EMAIL PROTECTED]> wrote: > > > > i singed too soon...when i test locally everything works great...but > when > > i try it in internet..it doesnt..he doestn load the xml file > > > > why...? > > > > The code is the same...but i did alter the url..like you said..: > > > > //EDIT XML PATH > > menuInfoXML = "./xml/menu.xml"; > > // DO NOT EDIT BELOW.. > > > > System.useCodepage = true; > > > > import mx.xpath.XPathAPI; > > var infoHolder:XML = new XML(); > > infoHolder.load(menuInfoXML); > > infoHolder.ignoreWhite = true; > > var titlePath:String = "/root"; > > //main menu array. > > var mainMenus:Array; > > //sub menu array. > > var subMenus:Array; > > > > infoHolder.onLoad = function(ok) { > > if (ok) { > > mainMenus = mx.xpath.XPathAPI.selectNodeList( > infoHolder.firstChild, > > titlePath+"/menu"); > > createTreeMenu(); > > } > > }; > > > > > > MovieClip.prototype.getPos = function(target:Number) { > > this.onEnterFrame = function() { > > this._y -= (this._y-target)/6; > > if (Math.abs(this._y-target)<0.3) { > > delete this.onEnterFrame; > > _root.newsMC.showNews.appear(); > > } > > }; > > }; > > > > > > function createTreeMenu():Void { > > for (i=0; i > newBut = _root.conteudos_mc.portfolio_mc.attachMovie("but", > > "but"+i, 999+i); > > > > newBut.arrow._alpha = 0; > > newBut.shine._alpha = 0; > > newBut._x = 18; > > newBut._y = 93+(newBut._height+5)*i; > > > > newBut.txt.text = mainMenus[i].attributes.txt; > > newBut.link2 = mainMenus[i].attributes.url; > > newBut.submenuCnt = mainMenus[i].childNodes.length; > > newBut.y = newBut._y; > > newBut.onRollOver = function() { > > _root.conteudos_mc.portfolio_mc.tween(this, 16, 18); > > > > this.arrow.appear(); > > this.shine.appear(); > > var textCol = new Color(this.txt); > > textCol.setRGB(0xff); > > > > }; > > newBut.onRollOut = function() { > > _root.conteudos_mc.portfolio_mc.tween(this, 18, 16); > > > > this.arrow.disappear(); > > this.shine.disappear(); > > var textCol = new Color(this.txt); > > textCol.setRGB(0x6F6A63); > > }; > > newBut.onRelease = function() { > > if (this.submenuCnt>0) { > > var butNum:Number = new Number(this._name.substr(3, 1)); > > this.createSubMenu(butNum); > > for (i=0; i > if (i > > > > _root.conteudos_mc.portfolio_mc["but"+i].getPos(_root.conteudos_mc.portfolio_mc["but"+i].y); > > > > } else { > > > > > _root.conteudos_mc.portfolio_mc["but"+i].getPos(_root.conteudos_mc.portfolio_mc["but"+i].y+this.submenuCnt*22); > > > > } > > } > > } > > else { > > _root.conteudos_mc.portfolio_mc.clearSubMenus(); > > for (i=0; i > > > > _root.conteudos_mc.portfolio_mc["but"+i].getPos(_root.conteudos_mc.portfolio_mc["but"+i].y); > > > > } > > //getURL(this.link); > > > > } > > }; > > } > > } > > > > > > MovieClip.prototype.createSubMenu = > function(buttonNumber:Number):Void { > > clearSubMenus(); > > subMenus = mx.xpath.XPathAPI.selectNodeList (mainMenus[buttonNumber], > > "/menu/submenu"); > > var butNum:Number = new Number(this._name.substr(3, 1)); > > for (i=0; i > subBut = _root.conteudos_mc.portfolio_mc.attachMovie("submenu", > > "subMenu"+i, Math.random()*99); > > > > subBut._alpha = 0; > > subBut._x -= i; > > subAppear(subBut, (i+3), 30); > > > > subBut._y = this.y+this._height+(subBut._height+5)*i; > > subBut.txt
Re: [Flashcoders] Help...cant unload the xml menu...!!
Ok...ive found the source of the problem...the xml file must be in the same floder as the swf..cant reside inside a folder...maybe because of permissions... Thanks On 8/1/06, Jose Maria Barros <[EMAIL PROTECTED]> wrote: Hi Arul, Well...i tested..and the problem still there...maybe its because the xml object is not in the root?its inside a movieclip, then inside other movieclip. I case you dont understand what i mean is the code that ive put here...is in a frame that is not in the root, but inside a movieclip(that is in the root) and in other movieclip...maybe is that the problem? thanks. On 8/1/06, Arul Prasad M L <[EMAIL PROTECTED]> wrote: > > might be a problem with the URL. > 1. Make sure that the ../xml folder is in the WWW folder of ur server, > not > above it. > > or > > 2. Try doing this: > > var urlString:String = _root._url; > urlString = urlString.substr (0,urlString.lastIndexOf("/")); > urlString = urlString.substr(0,urlString.lastIndexOf("/") + 1); > urlString = urlString.concat("xml/menu.xml") > menuInfoXML = urlString; > > If it works, you may want to refactor all the statements above and make > the > code optimal. > > ~Arul Prasad. > > I've just elaborated in soo many statements, just in case you dont > understand. > > On 8/1/06, Jose Maria Barros <[EMAIL PROTECTED] > wrote: > > > > can anyone help me? > > > > On 7/31/06, Jose Maria Barros <[EMAIL PROTECTED]> wrote: > > > > > > i singed too soon...when i test locally everything works great...but > > > when > > > i try it in internet..it doesnt..he doestn load the xml file > > > > > > why...? > > > > > > The code is the same...but i did alter the url..like you said..: > > > > > > //EDIT XML PATH > > > menuInfoXML = "./xml/menu.xml"; > > > // DO NOT EDIT BELOW.. > > > > > > System.useCodepage = true; > > > > > > import mx.xpath.XPathAPI ; > > > var infoHolder:XML = new XML(); > > > infoHolder.load(menuInfoXML); > > > infoHolder.ignoreWhite = true; > > > var titlePath:String = "/root"; > > > //main menu array. > > > var mainMenus:Array; > > > //sub menu array. > > > var subMenus:Array; > > > > > > infoHolder.onLoad = function(ok) { > > > if (ok) { > > > mainMenus = mx.xpath.XPathAPI.selectNodeList ( > > infoHolder.firstChild, > > > titlePath+"/menu"); > > > createTreeMenu(); > > > } > > > }; > > > > > > > > > MovieClip.prototype.getPos = function(target:Number) { > > > this.onEnterFrame = function() { > > > this._y -= (this._y-target)/6; > > > if (Math.abs(this._y-target)<0.3) { > > > delete this.onEnterFrame; > > > _root.newsMC.showNews.appear(); > > > } > > > }; > > > }; > > > > > > > > > function createTreeMenu():Void { > > > for (i=0; i > > newBut = _root.conteudos_mc.portfolio_mc.attachMovie("but", > > > "but"+i, 999+i); > > > > > > newBut.arrow._alpha = 0; > > > newBut.shine._alpha = 0; > > > newBut._x = 18; > > > newBut._y = 93+(newBut._height+5)*i; > > > > > > newBut.txt.text = mainMenus[i].attributes.txt; > > > newBut.link2 = mainMenus[i].attributes.url; > > > newBut.submenuCnt = mainMenus[i].childNodes.length; > > > newBut.y = newBut._y; > > > newBut.onRollOver = function() { > > > _root.conteudos_mc.portfolio_mc.tween(this, 16, 18); > > > > > > this.arrow.appear (); > > > this.shine.appear(); > > > var textCol = new Color(this.txt); > > > textCol.setRGB(0xff); > > > > > > }; > > > newBut.onRollOut = function() { > > > _root.conteudos_mc.portfolio_mc.tween(this, 18, 16); > > > > > > this.arrow.disappear(); > > > this.shine.disappear(); > > > var textCol = new Color( this.txt); > > > textCol.setRGB(0x6F6A63); > > > }; > > > newBut.onRelease = function() { > > > if (this.submenuCnt>0) { > > > var butNum:Number = new Number(this._name.substr(3, > 1)); > > > this.createSubMenu(butNum); > > > for (i=0; i > > if (i > > > > > > > > _root.conteudos_mc.portfolio_mc["but"+i].getPos(_root.conteudos_mc.portfolio_mc["but"+i].y); > > > > > > > } else { > > > > > > > > > _root.conteudos_mc.portfolio_mc["but"+i].getPos(_root.conteudos_mc.portfolio_mc["but"+i].y+this.submenuCnt*22); > > > > > > > } > > > } > > > } > > > else { > > > _root.conteudos_mc.portfolio_mc.clearSubMenus(); > > > for (i=0; i< mainMenus.length; i++) { > > > > > > > > > _root.conteudos_mc.portfolio_mc["but"+i].getPos(_root.conteudos_mc.portfolio_mc["but"+i].y); > > > > > > } > > > //getURL( this.link); > > > > > > } > > > }; > > > } > > > } > > > > > > > > > MovieClip.prototype.createSubMenu = > > funct