我正在尝试使用for循环来增加movieClip的创建,并将影片剪辑添加到舞台上。
这样的事情:
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:语法错误:在加号之前期待分号。
答案 0 :(得分: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);
}
您可以在ball
中存储每个arrayBalls
的引用,这样您就不必每次都创建一个新的var。通过声明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 :(得分: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 这样的数组中。