AS3:在彼此旁边添加多个孩子

时间:2015-05-18 14:23:53

标签: actionscript-3 flash

我有问题。当我循环这段代码时,我的意思是它会在彼此之后添加6张图片。然而;那没起效。有人可以帮忙吗?

var riktige:RRR = new RRR();

var r:int = 6;
var xPos:uint = 50;
var yPos:uint = 140;

for(var i:int=0; i<6; i++) {
   addChild(riktige);
   riktige.x = xPos;
   riktige.y = yPos;
   xPos += 40;
}

2 个答案:

答案 0 :(得分:1)

您只需创建一个RRR实例,而您需要六个。{1}}。将riktige=new RRR();放入for循环中以解析。

for(var i:int=0; i<6; i++) {
   riktige=new RRR();
   addChild(riktige);
   riktige.x = xPos;
   riktige.y = yPos;
   xPos += 40;
}

答案 1 :(得分:0)

我可以看到这已经得到了解答,但是你有一天会想让那些人离开舞台或者以某种方式与他们一起工作,所以我认为你应该存储对每个人的引用以便以后工作...... / p>

var riktigeRef:Array = new Array();

for(var i:int = 0; i < 6; i++)
{
    riktigeRef.push(new RRR());
    riktigeRef[riktigeRef.length - 1].x = xPos;
    riktigeRef[riktigeRef.length - 1].y = yPos;
    addChild(riktigeRef[riktigeRef.length - 1]);
    xPos += 40;
}

或者如果您以后从未计划再次使用此循环,请使用此循环。

for(var i:int = 0; i < 6; i++)
{
    riktigeRef[i] = new RRR();
    riktigeRef[i].x = xPos;
    riktigeRef[i].y = yPos;
    addChild(riktigeRef[i]);
    xPos += 40;
}

当你需要时,你可以循环遍历那个阵列,将它们从舞台上移除或者与个别实例一起工作,而不是与舞台上的孩子一起工作,如果你添加更多的东西,这可能需要更长的时间。