Avatar billede xfox Nybegynder
07. marts 2008 - 13:29 Der er 6 kommentarer

addChild / removeChild

Jeg er helt ny til AS3, og står med nedenstående problem. I den første function laver jeg en addChild(menubygger), og i den næste funktion vil jeg lave en removeChild(menubygger), men det er som om den ikke kan få fat i menubygger. Hvad gør jeg galt?

public function onXMLComplete(event:Event):void {
            var menubygger:Menubygger = new Menubygger();
            this.addChild(menubygger);
            trace(menubygger);
           
        }
       
        public function skiftSprog():void {
            trace("menubygger");
            //this.removeChild(menubygger);
            var menubygger:Menubygger = new Menubygger();
            this.addChild(menubygger);
        }
Avatar billede jokkejensen Novice
07. marts 2008 - 14:15 #1
du opretter en ny MenuBygger begge steder...

public function onXMLComplete(event:Event):void {
            var _root["menubygger"]:Menubygger = new Menubygger();
            this.addChild(menubygger);
            trace(_root["menubygger"]);
           
        }

        public function skiftSprog():void {
        trace(_root["menubygger"]);
        }
Avatar billede xfox Nybegynder
07. marts 2008 - 20:12 #2
Tak for hjælp på forhånd, jeg kigger lige på mandag, og ser om jeg kan få det til at virke.
Avatar billede xfox Nybegynder
10. marts 2008 - 09:38 #3
Syntes ikke jeg kan få det til at virke med AS3. Er du sikker på man må bruge _root i AS3? Grunden til at MenuBygger blev oprettet begge steder, var at menuen skulle oprettes efter at xml blev indlæst. Når man så trykkede på "skift sprog" knappen, skulle menuen fjernes, og opbygges igen, med det nye sprog. Problemet er at jeg i skiftSprog() ikke kan fjerne menuen der er oprettet i onXMLComplete. Er det helt forkert, eller er der en smartere måde at gøre det på..?
Avatar billede jokkejensen Novice
10. marts 2008 - 09:44 #4
Det skal ikke være løgn jeg ikke er hård til actionscript..

Men jeg formodede at "MenuBygger" var relateret til et movieclip, med en række egenskaber og metoder.

Hvis ikke den har relation til et movieclip, så kan du godt have ret i at man ikke kan ligge den på _root, som efter min bedste overbevisning også eksisterer på en eller anden måde i AS3, men du kan vel altid :

var myRoot:MovieClip = this;

myRoot["MenuBygger"]:Menubygger..

/JJ
Avatar billede jokkejensen Novice
10. marts 2008 - 09:45 #5
"t's been changed to 'root'. Using root can get you into trouble if you addChild() and removeChild(), also known as reparenting. It works differently to AS 2.0 because the objects can exist, with all their properties, in 'limbo' while they're not on the stage. This means that DisplayObjects' parents and relationship to the root can change.

In other words, decide whether your DisplayObjects are going to be static or reparented before you decide to use root."

root[""] ;

/JJ
Avatar billede xfox Nybegynder
03. december 2010 - 18:26 #6
Kom med et svar, så giver jeg point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester