帧更改时AS3 ENTER_FRAME事件仍然触发

时间:2010-10-26 16:29:07

标签: actionscript-3

为什么在进入view_start之前调用view_stats_exit时,此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:无法访问空对象引用的属性或方法。  在Snapshot / stats_scroll()

1 个答案:

答案 0 :(得分:1)

您可以向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);
  }