如何调用循环中创建的对象?

时间:2013-08-10 18:44:04

标签: actionscript-3 object for-loop

新手问题:

如果我在循环中创建多个形状对象,例如:

var i:int; 
for (i = 0; i < 3; i++) {
    var circle:Shape = new Shape();
    circle.graphics.beginFill(color);
    circle.graphics.drawCircle(100,100, radius);
    circle.graphics.endFill();
    addChild(circle);   
}

如何然后单独调用这些不同的形状,这样我可以操纵它们的属性?在我看来,他们都会有相同的名字?

3 个答案:

答案 0 :(得分:1)

您可以通过索引(它们放在舞台上的顺序)访问它们。 如下所示:

DisplayObject(getChildAt(1)).x = 100; // Where the 1 is the index (starting at 0)

答案 1 :(得分:1)

实际上,你可以拥有一个对象的数组(或向量),这样你就不会依赖于当前的置换列表。

var i:int; 
var circleArray:Array = new Array();
for (i = 0; i < 3; i++) {
    var circle:Shape = new Shape();
    circleArrayList.push(circle);
    circle.graphics.beginFill(color);
    circle.graphics.drawCircle(100,100, radius);
    circle.graphics.endFill();
    addChild(circle);   
}
//And then access them with
for(i = 0; i < circleArray.length, i++)
{
    circleArrayList[i].x = 15 * i;
}
//Or
foreach(var circle:DisplayObject in circleArray)
{
    circle.x = 15 * i;
}

答案 2 :(得分:-1)

for(int i=0;i<3;i++)
{
class x =new class(i);
x.print()
}