增加movieClip名称和addChild

时间:2012-01-04 20:00:28

标签: flash actionscript-3 for-loop

我正在尝试使用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:语法错误:在加号之前期待分号。

2 个答案:

答案 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 这样的数组中。