2011-01-06 7 views
1

Es ist möglich, den Namen der Vars dynamisch ist AS3 mit Flash ändern? Ich meine, erstelle zum Beispiel 10 vars mit einem root-Namen wie myvar und inkrementiere dann eine Zahl wie myvar0, myvar1, myvar2 und so weiter.Gewusst wie: Dynamische var den Namen ändern auf AS3

ich vor einiger Zeit achived ich dies in AS2 mit diesem Code:

for (i = 0; i < 5; i++) 
{ 
    var mc = _root.attachMovie("my_square", "my_square_"+i, i); 
    mc._x = i * 50; 
} 

Aber jetzt im in AS3 und dem var Bedarf zu kopieren, ist dies:

var caja1:HTMLTextBlock = new HTMLTextBlock(); 

Wie kann in in erzeugt a FÜR, caja1, caja2, caja3 und sp.

Danke für jede Hilfe!

Antwort

1

Ich denke, eine sehr einfache und saubere Möglichkeit, dies zu erreichen, ist die Schaffung eines Arrays.

Denken Sie daran, dass der erste Eintrag im Array mit 0 und nicht mit 1 beginnt (also caja [0]).

Hoffe das hilft :)

5

Hey Domingo, Ich bin schon eine Weile von AS2 entfernt, also werde ich nicht absolut sicher sein, ob das das ist, wonach du suchst, aber ich denke es ist.

var myObjects:Object = {}; 

for(var i:Number = 0; i<10; i++) 
{ 
    myObjects["caja"+i]=new HTMLTextBlock(); 
    addChild(myObjects["caja"+i]); //if using Flex 4 containers use addElement(myObjects["caja"+i]); 
    myObjects["caja"+i].x=i*50; //assuming here container has an absolute layout 
} 

Was Sie hier tun würde ein neues Objekt erstellen, die dynamischen Eigenschaften hat eine Eigenschaft in AS3 zu lösen, können Sie entweder (Punkt-Operator) myObject.something oder (assoziatives Array?) Verwenden myObject [ "etwas "] und es wird genauso funktionieren.

+0

können Sie bitte die Lösung aber für AS3 umschreiben ??? – DomingoSL

+0

@DomingoSL. Der gepostete Code sieht wie ein gültiger AS3 aus. Hast du es versucht? –

+0

yah das ist gültig AS3 gebe es eine Chance – shaunhusain

Verwandte Themen