Доброго времени суток.
Никак не могу понять, как работает событие Event.ENTER_FRAME. Читал мануал, но это не помогло в решении проблемы. Вот код:
Код AS3:
private function playButtonClickHandler(event:MouseEvent):void
{
playButton.removeEventListener(MouseEvent.CLICK, playButtonClickHandler);
gotoAndStop("Intro");
addEventListener(Event.ENTER_FRAME, everyFrame, false, 0, true);
}
private function everyFrame(event:Event):void
{
removeEventListener(Event.ENTER_FRAME, everyFrame);
if (storm.currentFrame == storm.totalFrames)
{
storm.stop();
gotoAndStop("Game");
}
}
Имеется 3 кадра во Flash IDE, каждый из которых имеет собственные имена. После загрузки прелоадера появляется кнопка Play, по нажатию на нею мы переходим во второй кадр Intro, который содержит мувиклип под именем storm, внутри которого анимация. Так вот мне хотелось бы, после того, как проигралась анимация в мувиклипе, перейти обратно на главную временную шкалу в третий кадр Game. А проблема заключается в том, что у меня этот мувиклип при запуске бесконечно воспроизводится. Хотя не знаю почему, но при замене
removeEventListener(Event.ENTER_FRAME, everyFrame) на
storm.removeEventListener(Event.ENTER_FRAME, everyFrame) , но при этом оставляя это
addEventListener(Event.ENTER_FRAME, everyFrame, false, 0, true) без изменений переход осуществляется в третий кадр, но выходит в окне Otput такое сообщение "TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at Preloader/everyFrame()"