Я делаю небольшую игру, в которой создаются экземпляры, и я хочу, чтобы они были убиты через две секунды. Проблема, с которой я столкнулся, заключается в том, что у экземпляров есть сгенерированное имя, и я не знаю, как с ними разговаривать после их появления.
Я пробовал такие вещи, как Timeout или обычный таймер, но все еще не могу с ними разговаривать.
function spawn(): void {
if (Math.floor(Math.random() * 70) == 0) {
plane = new Plane();
plane.x = Math.random() * (stage.stageWidth - 100) + 50;
plane.y = Math.random() * (stage.stageHeight - 100) + 20;
plane.addEventListener(MouseEvent.CLICK, shoot);
var killtimer: Timer = new Timer(2000);
killtimer.addEventListener(TimerEvent.TIMER, timerListener);
//setTimeout(kill, 2000);
addChild(plane);
killtimer.start();
}
if (Math.floor(Math.random() * 30) == 0) {
bird = new Bird();
bird.x = Math.random() * (stage.stageWidth - 100) + 50;
bird.y = Math.random() * (stage.stageHeight - 100) + 20;
bird.addEventListener(MouseEvent.CLICK, shoot);
//setTimeout(kill, 2000);
addChild(bird);
}
if (Math.floor(Math.random() * 300) == 0) {
g_bird = new Golden_bird();
g_bird.x = Math.random() * (stage.stageWidth - 100) + 50;
g_bird.y = Math.random() * (stage.stageHeight - 100) + 20;
g_bird.addEventListener(MouseEvent.CLICK, shoot);
//setTimeout(kill, 2000);
addChild(g_bird);
}
}
function timerListener(e: TimerEvent): void {
trace("Killtimer: " + flash.utils.getQualifiedClassName(e.currentTarget));
e.currentTarget.parent.removeChild(e.currentTarget); <- Problem e is the timer, not the instance
}
Кто-нибудь может мне помочь?