2015-05-18 3 views
0

У меня проблема. Когда я зацикливаю этот код, мои намерения состояли в том, что он добавил бы 6 изображений после eachother. Однако; это не работает. Кто-нибудь может помочь?AS3: добавить несколько дочерних элементов рядом друг с другом

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

ответ

1

Вы только создаете один экземпляр 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; 
} 
+0

Большое вам спасибо! – Coder

0

Я могу видеть это уже есть ответ, но вы один день хотят получить те со сцены или работать с ними в некотором роде, так что я думаю, что вы должны хранить ссылки на каждой из них, чтобы работать с более поздними, как так ...

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

, когда вам нужно вы можете цикл через этот массив, чтобы удалить их со сцены или работать с отдельными экземплярами, а затем работать с детьми на сцене, которая может занять больше времени, если добавить много больше вещей.

Смежные вопросы