2011-01-06 48 views
1

使用閃存動態更改變量名稱是AS3是可能的?我的意思是,創建例如10個變量,其名稱如下:myvar,然後遞增一個數字,如myvar0,myvar1,myvar2等。如何在AS3上更改動態var的名稱

我前一段時間我用這個代碼achived這在AS2:

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

但現在在AS3和VAR需要複製的IM是這樣的:

var caja1:HTMLTextBlock = new HTMLTextBlock(); 

在如何才能生成一個FOR,caja1,caja2,caja3和sp。

感謝您的幫助!

回答

1

我認爲一個非常簡單和乾淨的方法來實現這個創建一個數組。

var caja:Array = new Array(); 

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

只要記住,在陣列中的第一個條目以0和1不開始(即,卡哈[0])。

希望這會有所幫助:)

5

嘿多明戈, 我已經離開了AS2一段時間了,所以我不會絕對確定這是你在找什麼,但我認爲它是。

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 
} 

什麼你會在這裏做什麼是創建具有動態特性的新的對象來解決AS3一個屬性,您可以使用(點操作符)myObject.something或(關聯數組?)myObject的[「的東西「],它的工作原理是一樣的。

+0

可以請你重寫解決方案,但爲AS3? – DomingoSL 2011-01-06 02:58:55

+0

@DomingoSL。發佈的代碼看起來像有效的AS3。你試過了嗎? – 2011-01-06 03:14:07

+0

這是有效的AS3給它一個鏡頭 – shaunhusain 2011-01-06 04:09:16