粘性AS3错误#1009

时间:2013-11-05 21:28:46

标签: actionscript-3 object reference null

我们有一个游戏,我们在主时间轴上有一个movieclip对象,第6帧叫做“EnvF6”(这是movieclip的实例名称)。

完成movelclip后,我们想要前进到第8帧。但是,当我们这样做时,程序会坚持产生#1009错误。我们已经调试了这件事,并且无法弄清楚为什么会出现这个错误。请参阅下面的代码。

提前感谢您的所有帮助!!我们多年来一直在StackOverflow网站上寻找这个问题的帮助!!

AS3代码


import flash.display.*;
stop();

EnvF6.addEventListener(Event.ENTER_FRAME, EasterEggFunc);

function EasterEggFunc(e:Event):void
{
          if(EnvF6.currentFrame==EnvF6.totalFrames)
          {
               removeEventListener(Event.ENTER_FRAME, EasterEggFunc);
               EnvF6.stop();
               removeChild(EnvF6);
               EnvF6 = null;
               gotoAndStop(8);
          }
}

1 个答案:

答案 0 :(得分:0)

试试这个:

import flash.display.*;
stop();

EnvF6.addEventListener(Event.ENTER_FRAME, EasterEggFunc);

function EasterEggFunc(e:Event):void {
          if(EnvF6.currentFrame==EnvF6.totalFrames) {
               e.currentTarget.removeEventListener(Event.ENTER_FRAME, EasterEggFunc);
               EnvF6.stop();
               removeChild(EnvF6);
               EnvF6 = null;
               gotoAndStop(8);
          }
}

您必须指定从中删除eventListener的内容。在删除侦听器之前删除对象时,这会导致冲突。