Ну, вы не можете просто сделать «когда сделаешь это, сделай это».
Есть два способа, которые приходят мне в голову прямо сейчас. Во-первых (более) правильно добавить dispatchEvent( new Event(__EVENT_TYPE__));
к кадру, на котором вы хотите остановиться, а затем добавить слушателя к мувиклипу, например:
mc1.addEventListener(Event.__EVENT_TYPE__, stopPlayback);
function stopPlayback( e:Event ):void{
mc1.stop();
mc1.removeEventListener(Event.__EVENT_TYPE__, stopPlayback);
}
, чтобы при отправке события воспроизведение прекращалось. Например, вы можете использовать Event.COMPLETE или создать собственное событие.
Второй способ - добавить прослушиватель событий Event.ENTER_FRAME, чем проверить, вернулись ли мы к первому кадру, и если мы зациклились, вернемся к последнему кадру и остановимся, удалим прослушиватель событий и все готово.
Также нам нужно где-то хранить последний кадр, на котором мы были, чтобы мы знали, что нам нужно вернуться.
mc1.addEventListener(Event.ENTER_FRAME, onEF);
var lastFrame:int = 0;
function onEF( e:Event ):void{
if(mc1.currentFrame == 1){
mc1.removeEventListener(Event.ENTER_FRAME, onEF);
mc1.gotoAndStop(lastFrame);
}
lastFrame = mc1.currentFrame;
}
используйте второй вариант, только если вы не можете добавить отправку события в видеоклип (или простой вызов stop ();))
Надеюсь, это поможет
Приветствие.