【发布时间】:2010-11-04 22:25:31
【问题描述】:
根据 Flash 文档:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/Event.html#
Event.EXIT_FRAME 常量定义 类型属性的值 exitFrame 事件对象。
注意:本次活动没有 “捕获阶段”也不是“泡沫阶段”, 这意味着事件监听器必须 直接添加到任何潜在的 目标,目标是否在 是否显示列表。
但是,当在子 DisplayObject 上调用 gotoAndStop 时,会在其容器上引发 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 中也有同样的行为。我正在尝试在事件处理程序中检测这种情况,以便在运行实际代码之前停止执行...
标签: flash actionscript-3 events flex4