2011-01-06 1 views
1

Il est possible de changer dynamique le nom des vars est AS3 en utilisant flash? Je veux dire, créer par exemple 10 vars avec un nom racine comme: myvar et incrémenter ensuite un nombre, comme myvar0, myvar1, myvar2 et ainsi de suite.Comment: changement de nom dynamique var sur AS3

I il y a quelque temps que j'achived cela en AS2 avec ce code:

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

Mais im en AS3 et le var a besoin de copier est la suivante:

var caja1:HTMLTextBlock = new HTMLTextBlock(); 

Comment en génère en un FOR, caja1, caja2, caja3 et sp.

Merci pour toute aide!

Répondre

1

Je pense qu'un moyen très simple et propre d'y parvenir est de créer un tableau.

var caja:Array = new Array(); 

for (i = 0; i < 5; i++) 
{ 
    caja[i] = new HTMLTextBlock(); 
} 

rappelons simplement que la première entrée du tableau commence à 0 et non 1 (à savoir caja [0]).

Espérons que cela aide :)

5

Hey Domingo, Je suis sorti d'AS2 depuis un moment maintenant, donc je ne vais pas être absolument sûr que c'est ce que vous cherchez, mais je pense que c'est le cas.

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 
} 

Ce que vous feriez ici est la création d'un nouvel objet qui a des propriétés dynamiques pour résoudre une propriété en AS3 vous pouvez utiliser (opérateur point) ou myObject.something (tableau associatif?) MyObject [ "quelque chose "] et cela fonctionnera de la même manière.

+0

pouvez-vous s'il vous plaît réécrire la solution, mais pour AS3 ??? – DomingoSL

+0

@DomingoSL. Le code affiché ressemble à AS3 valide. Avez-vous essayé? –

+0

yah c'est valide AS3 donnez-lui un coup de feu – shaunhusain

Questions connexes