Как удалить несколько MC со сцены в AS3 - PullRequest
1 голос
/ 17 августа 2011

Я создаю несколько MC со следующим кодом:

function addCharacter() {
    var newCharacter:characterBob = new characterBob();
    this.addChild(newCharacter);

    newCharacter.x=1000 - (50*counter);
    newCharacter.y=50;

    counter = counter + 1
}

Теперь я хотел бы удалить их несколько со сцены.Есть ли способ, которым я могу сделать это в AS3?

Заранее спасибо за любой совет.

Ответы [ 2 ]

2 голосов
/ 17 августа 2011

Вы можете попробовать что-то вроде:

for each (var o:DisplayObject in this) {
    if (o is characterBob) {
        removeChild(o);
    }
}

Возможно, лучшим вариантом было бы поместить каждый созданный персонаж "Боб" в массив.Затем переберите массив и удалите каждый объект.

var bobs:Array = new Array();

function addCharacter() {
    var newCharacter:characterBob = new characterBob();
    this.addChild(newCharacter);

    newCharacter.x=1000 - (50*counter);
    newCharacter.y=50;

    counter = counter + 1;

    bobs.push(newCharacter);
}

function removeAllBobs():void {
    while (bobs.length > 0) {
        removeChild(bobs.shift());
    }
}
0 голосов
/ 17 августа 2011
while(myDisplayObjectContainer.numChildren > 0){
    myDisplayObjectContainer.removeChildAt(0);
}

Это удалит все дочерние элементы указанного DisplayObjectContainer (Sprite или Movieclip)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...