AS3 ENTER_FRAME事件仍然在帧发生变化时触发
问题描述:
为什么当我在view_start之前调用view_stats_exit时,这个ENTER_FRAME事件停止发射?AS3 ENTER_FRAME事件仍然在帧发生变化时触发
public function view_start (e:MouseEvent):void
{
gotoAndStop("start");
}
public function view_stats(e:MouseEvent):void
{
// Event
StatsUI.addEventListener(Event.ENTER_FRAME,stats_scroll);
}
public function view_stats_exit (e:MouseEvent):void
{
StatsUI.removeEventListener(Event.ENTER_FRAME,stats_scroll);
view_start(null);
}
TypeError:错误#1009:无法访问空对象引用的属性或方法。 at Snapshot/stats_scroll()
答
您可以将事件侦听器添加到MovieClip,但不应将其作为静态函数来执行,就像在您的示例中那样。以下应该工作...
private var ui:StatsUI = new StatsUI();
public function view_stats(e:MouseEvent):void
{
// Event
ui.addEventListener(Event.ENTER_FRAME,stats_scroll);
}
public function view_stats_exit (e:MouseEvent):void
{
ui.removeEventListener(Event.ENTER_FRAME,stats_scroll);
view_start(null);
}
+0
谢谢,我会试试看。 – woodscreative 2010-10-26 17:00:24
作品,如果我更改StatsUI显示对象只是阶段。无法将ENTER_FRAME事件侦听器附加到显示对象(影片剪辑)? – woodscreative 2010-10-26 16:32:51