18. januar 2007 - 12:16Der er
30 kommentarer og 1 løsning
Gå til næste childNodes når animationen slutter
Jeg har lavet denne lille dynamiske animation, nu vil jeg gerne have at det næste image i mit XML dokument bliver valgt... at jeg går viddere til næste childNodes når animationen (transition) er slut...
Hvordan gør jeg det??
Mvh fauer
//____ loader XML _______// var min_xml:XML = new XML(); var rootNode:XMLNode; var mcl:MovieClipLoader = new MovieClipLoader(); var nodePos:Number; var FileName:Array = new Array();
Tween har en onMotionFinished event, der sendes når et tween er færdigt (sjovt nok). Dvs du sætter en event handler op for denne event, der henter næste billede ala;
image_tween3.onMotionFinished = function () { nodePos++; image_mcl.loadClip(FileName[nodePos], container); }
Nu har jeg prøvet at lave en kopi.... men kan simpelthen ikke få det til at virke...
//____ loader XML _______// var min_xml:XML = new XML(); var rootNode:XMLNode; var mcl:MovieClipLoader = new MovieClipLoader(); var nodePos:Number; var Kampagne:Array = new Array();
//_____Loop gennem XML dokument____// function loopThroughXML() { for (var i:Number = 0; i<rootNode.childNodes.length; i++) { Kampagne[i] = rootNode.childNodes[i].attributes.Kampagne; } nodePos = 0; loadItems(nodePos); } function loadItems(nodePos:Number) { // var containerk:MovieClip = this.createEmptyMovieClip("conk",this.getNextHighestDepth) var mclListenerk:Object = new Object();
var image_mclk:MovieClipLoader = new MovieClipLoader(); image_mclk.addListener(mclListenerk); image_mclk.loadClip(Kampagne[nodePos], containerk); trace(Kampagne[nodePos]);
// Transitions/overgange fade og zoom import mx.transitions.Tween; import mx.transitions.easing.*;
var image_tweenk:Object = new Tween(containerk, "_alpha", Regular.easeOut, 0, 100, 2, true); };
image_tweenk.onMotionFinished = function () { nodePos++; image_mclk.loadClip(Kampagne[nodePos], containerk); }
// --- var image_tweenk:Object = new Tween(containerk, "_alpha", Regular.easeOut, 0, 100, 2, true); };
image_tweenk.onMotionFinished = function () { // ---
den væltede tuborg i linie 2 betyder du har lukket den funktion hvori "image_tweenk" er lokal, derefter prøver du at sætte en eventhandler på den - men den er lokal i en anden funktion og "image_tweenk" findes slet ikke i det scope du prøver at definere en eventhadler til den.
Har det noget med mit XML at gøre? <?xml version="1.0" standalone="yes"?> <NewDataSet> <Product Header = "Super PC med DVD-brænder" Name = "FSC DAN-889240-037" Description = "Solid allround PC der dækker familiens behov for f.eks. Internet, tekstbehandling, homebanking m.v." FileName = "-8590351708825400808_pc01.gif" Pris = "149-" KtPris = "4.799,-" Kampagne = "kampagne.jpg" /> <Product Header = "Fujitsu Siemens PC Pakke" Name = "FSC DK-P6SUM3-001" Description = "Stærk basis PC hvor du med tekstbehandling og regneark nemt holder styr på husholdningsbudgettet.- mulighederne er mange for bare kr. 199,- om måneden." FileName = "-8590351707387275808_pc02.jpg" Pris = "349,-" KtPris "8.799,-" Kampagne = "gifgif.gif"/> </NewDataSet>
Hvordan ser din kode ud nu? Der er kun to grunde til at Kampagne tracer undefined, og det er enten at den reelt er undefined dvs den findes overhovedet ikke (er eller decideret sat til værdien "undefined"), eller også findes den bare ikke i det scope du kigger i (hvilket basically er det samme scenarie som førstnævnte).
Hvad sker der hvis du skriver;
var image_tweenk:Object = new Tween(containerk, "_alpha", Regular.easeOut, 0, 100, 2, true); // ny linie image_tweenk["kam"] = Kampagne;
XML er vist i min kommentar fra 21/01-2007 19:31:56. Hvis jeg tracer containerk får jeg tracet _level0.conk. hjælper det mig? Det jeg ønsker mig er at når Tween"_alpha" er færdig, så bliver "kampagne.jpg" skiftet ud med "gifgif.gif".
Det lyder som om du antyder at nodePos ikke opdateres (nodePos++)? Det virker underligt hvis du kan trace den? Men hvis foregående virkede med at give en reference til Kampagne til dit tween objekt, så gør det samme med nodePos.
mat jeg forstår ikke hvad du mener... Men på intet tidspunkt har jeg kunne få det til at gå videre til næste childnode (nodePos++) som er gifgif.gif, kun som undefined, men kan sagtens trace/finde første childnode (nodePos), som er Kampagne.jpg.
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.