2012-01-04 83 views
1

我想使用for循環來增加movieClip的創建並將該影片剪輯添加到舞臺。增量movieClip名稱和addChild

事情是這樣的:

 for (var i:int = 0; i<6;i++){ 
     var ball + i:MovieClip = new Ball(); 
     addChild(ball + i); 
     ball + i.x = 470; 
     ball + i.y = 130; 
     } 

我要對這個錯誤? 我收到以下錯誤:

C:\ PATH TO MY /ASFILE.as,第64行1086:語法錯誤:在加號前預期分號。

回答

4

我認爲這樣做的一個好方法是創建一個Array包含新創建的球。

var ball:Ball; 
var arrayBalls:Array = new Array(); 

for (var i:int = 0; i<6;i++) 
{ 
    ball = new Ball(); 
    addChild(ball); 

    ball.x = 470; 
    ball.y = 130; 

    arrayBalls.push(ball); 
} 

您存儲在一個arrayBallsball的參考,這樣你就不必每次都創建一個新的變種。通過陳述ball = new Ball()你'擦除'以前的存儲值,並簡單地創建一個新的。稍後,您可以循環使用Array,然後按照您的喜好進行操作。像這樣

var ball:Ball; 
for (var i:int = 0; i < arrayBalls.length; i++) 
{ 
    ball = arrayBalls[i]; 
} 

或者這樣

var ball:Ball = arrayBalls[3]; 

希望的東西這就是你要找的人。

1

夥計,這是什麼? :D

是否要增加屬性名稱或實例名稱?

對於屬性名稱:

for (var i:int = 0; i<6;i++) 
{ 
    var ball:MovieClip = new Ball(); 
    ball.name = 'ball' + i; 
    addChild(ball); 
    ball.x = 470; 
    ball.y = 130; 
} 

例如名字裏有沒有必要的,你可以存儲到像rvmook數組說。