Er det muligt at attache og duplikere movieclips i et andet scope, end i det scope hvor koden eksekveres?
Eksempel: Lad os antage at jeg lige nu er i _level0 og ønsker at attache og duplikere et movieclip, i et target movieclip, der ligger længere nede i hirakiet, fx. _level0.container_mc.indhold_mc
Har prøvet at rode med det - men desværre uden resultat. Er dette overhovedet muligt?
Jeg ønsker at gøre dette, så al min kode kan ligge på min main timeline i _level0 - og ikke i 10 forskellige movieclips.
for (var i=0;i<5;i++){ duplicateMovieClip(this.container_mc.test_mc,"testny"+i+"_mc",this.getNextHighestDepth()); trace(this.container_mc["testny"+i+"_mc"]._name); } // end for
Mit trace giver: testny0_mc undefined undefined undefined undefined
Hvis alt ligger i samme movieclip, så fungerer koden fint, men lige så snart jeg laver kopierer af et test_mc i container_mc fra min maintimeline - så går der ged i den.
1) Denne kode virker: this.attachMovie("test_mc","test_mc",this.getNextHighestDepth()); for (var i=0;i<5;i++){ this.test_mc.duplicateMovieClip("testny"+i+"_mc",this.getNextHighestDepth(),{_x:20,_y:20}); trace(this["testny"+i+"_mc"]._x); } // end for
trace output: (forventet resultat) 20 20 20 20 20
2) Denne kode virker IKKE: this.container_mc.attachMovie("test_mc","test_mc",this.getNextHighestDepth()); for (var i=0;i<5;i++){ this.container_mc.test_mc.duplicateMovieClip("testny"+i+"_mc",this.getNextHighestDepth(),{_x:20,_y:20}); trace(this.container_mc["testny"+i+"_mc"]._x); } // end for
getNextHighestDepth() virker på et movieclip og returnerer den næste dybde, der er tilgængelig i det movieclip, som den kaldes på. Derfor skal du selvfølgelig kalde den på det movieclip, som du tilføjer nye movieclips til:
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.