AS3:将多个孩子彼此相邻添加

AS3: Add multiple childs next to eachother

我有问题。当我循环这段代码时,我的意图是它会依次添加 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;
}

你只创建了一个 RRR 的实例,而你说你需要六个。把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;
}

我可以看到这个问题已经得到了回答,但有一天你会希望将它们从舞台上移开或以某种方式与它们一起工作,所以我认为你应该存储对每个人的引用以备日后使用,就像这样...... .

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;
}

当您需要时,您可以循环遍历该数组以将它们从舞台上移除或使用单个实例,而不是在舞台上使用 children 如果您添加更多东西,这可能需要更长的时间.