Det er ikke mere nødvendigt at bekymre sig om instance names, når du arbejder med objekter, der er lavet med ActionScript:
for(var i:int = 0; i < fileCount; i++) { var picHolder:picContainer = new picContainer(); addChild(picHolder); }
picHolder er her bare den lokale reference, der er ikke-eksisterende, når din løkke afsluttes. Hvis du senere hen vil kunne tilgå dine objekter, kan du samle dem i et array, men det mest optimale vil være at samle dem i en Sprite på scenen, som du så looper igennem med for..in, når du skal tilgå nogle af dem, og ellers laver din klasse så avanceret, at du kan klare alt inde i din for, og at dine picHolders klarer resten interaktivt og automatisk direkte i deres klassedefinitioner.
Nice se, nu begynder det at give mening, men hvad så med f.eks.:
// Button loop var buttons:Array = new Array("play", "back", "fs", "next", "prev", "speaker"); var buttonFunc:Array = new Array("Click", "Over", "Out"); for (var i:Number = 0; i<buttons.length; i++) { ui_elements["btn_"+buttons[i]].buttonMode = true; // virker fint med den løkke her det er først herefter det går galt! for (var j:Number = 0; j<buttonFunc.length; j++) { ui_elements["btn_"+buttons[i]].addEventListener(MouseEvent.CLICK, buttons[i]+buttonFunc[j]);
// Det virket ikke så prøvet jeg var btnFunction:name = new name(buttons[i]+buttonFunc[j]); ui_elements["btn_"+buttons[i]].addEventListener(MouseEvent.CLICK, btnFunction); // Igen uden held, kan det gøres } }
Damn jeg glæder mig til jeg får styr på de basale i as3 for syntes det virker lovende.
maqhem - Kan du ikke lige skrive et svar i stedet for en kommentar for du ramte sømmet på øjet og bør få dine points, så jeg kan lukke spørgsmålet.
i en for med j, skal funktionen buttons[i]+buttonFunc[j] altså kaldes for hver eneste j-værdi. Generelt kan det siges, at det ikke giver nogen mening at skrive plus (+) der.
Jo da. Her er svaret. Held og lykke med at lære AS3 :)
Synes godt om
Ny brugerNybegynder
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.