新手问题:
如果我在循环中创建多个形状对象,例如:
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);
}
如何然后单独调用这些不同的形状,这样我可以操纵它们的属性?在我看来,他们都会有相同的名字?
答案 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()
}