Добавление и удаление детей в AS3?

Итак, я пытаюсь сделать что-то вроде того, что если Cosmo.hitTestObject, астероид 5 должен быть удален, однако я хочу, чтобы он был немедленно добавлен обратно в другое место, чтобы тест на попадание не запускался автоматически. Как мне это сделать?

var nCount1:Number = 0;
timer_Text1.text = nCount1.toString();
addEventListener(Event.ENTER_FRAME,massCollect);

function massCollect(e:Event) {
    if (Cosmo.hitTestObject(Asteroid5)) {
        removeChild(Asteroid5);
        nCount1++;
        timer_Text1.text = nCount1.toString();
    }
    if (nCount1 == 5) {
        gotoAndStop(351, "Scene 1");
        removeEventListener(Event.ENTER_FRAME,massCollect);
    }
}

person user2072135    schedule 16.03.2013    source источник


Ответы (1)


Я бы пошел с чем-то вроде этого:

var nCount1:Number = 0;
timer_Text1.text = nCount1.toString();
addEventListener(Event.ENTER_FRAME, massCollect);

function massCollect(e:Event) {
    if (Cosmo.hitTestObject(Asteroid5)) {
        while (Cosmo.hitTestObject(Asteroid5) {
            Asteroid5.x = Math.floor(MAX_WIDTH * Math.random());
            Asteroid5.y = Math.floor(MAX_HEIGHT * Math.random());
        }
        removeChild(Asteroid5);
        nCount1++;
        timer_Text1.text = nCount1.toString();
    }
    if (nCount1 == 5) {
        gotoAndStop(351, "Scene 1");
        removeEventListener(Event.ENTER_FRAME, massCollect);
    }
}
person duTr    schedule 16.03.2013