Как узнать, когда MovieClip вышел на сцену, чтобы закончить игру? - PullRequest
2 голосов
/ 08 ноября 2010
MovieClip(mcName).play();
MovieClip(mcName).addEventListener(??????, myStopFunction);

Или как иначе вы можете узнать об окончании игры?

MovieClip - это внешний файл, который при необходимости загружается в SWF-файл.

Ответы [ 4 ]

3 голосов
/ 08 ноября 2010
2 голосов
/ 08 ноября 2010

Когда у меня есть собственная анимация и я хочу знать, когда она заканчивается, я использую ее для отправки пользовательского события из последнего кадра анимации. Обычно Event.COMPLETE будет делать.

В последнем кадре мувиклипа myAnimation я делаю:

this.dispatchEvent(new Event(Event.COMPLETE));
stop();

Затем в основном коде, который я слушаю, добавьте слушателя к этому evnet:

myAnimation.addEventListener(Event.COMPLETE, animationEndHandler);
1 голос
/ 09 ноября 2010

Почти как ответ @ daniel.sedlacek, но без кода временной шкалы:

var mc : MovieClip = new $TestMovieClip();          
mc.addEventListener(Event.COMPLETE, function() : void {
    trace("COMPLETE");
});
mc.addFrameScript(mc.totalFrames-1, function() : void {
    mc.dispatchEvent(new Event(Event.COMPLETE));                
});
mc.play();
0 голосов
/ 13 апреля 2013

Только проверка currentFrame и totalFrames недостаточна для мувиклипа, содержащего несколько сцен.Вы также должны проверить, находится ли он в последней сцене.

function isAtLastFrame(mc:MovieClip):Boolean
{
  return currentScene.name == mc.scenes[mc.scenes.length - 1].name && currentFrame == currentScene.numFrames;
}
...