Согласно документации Flash:EXIT_FRAME пузыри вверх?
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/Event.html#
В Event.EXIT_FRAME константа определяет значение типа собственности на объекта события exitFrame.
Примечание: Это событие не имеет ни «фазы захвата» ни «фазы пузырей», что означает, что обработчики событий должны быть добавлены непосредственно в любых потенциальных целей, будь то цель находится в списке отображения или не.
Однако при вызове gotoAndStop на ребенке DisplayObject событие EXIT_FRAME поднято на это контейнер и, кажется, нет никакого способа, чтобы остановить его.
Например:
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
c = new Circle2();
addChild(c);
this.addEventListener(Event.ENTER_FRAME, enterFrame);
this.addEventListener(Event.EXIT_FRAME, exitFrame);
}
private function enterFrame(e:Event):void
{
trace("enter frame");
c.setPercent(5); // this calls gotoAndStop()
}
private function exitFrame(e:Event):void
{
trace("exit frame");
}
Выход:
ввести фрейм
выход кадра
выход кадра
В circle2 конструктору Я попытался это
this.addEventListener(Event.EXIT_FRAME, function(e:Event):void
{
e.stopPropagation();
});
У меня такое же поведение в AS3 - Flash CC Pro. Я пытаюсь обнаружить случай в обработчике событий, поэтому я могу остановить выполнение перед запуском реального кода ... – jacmkno