0

我们有一个游戏,其中我们在主时间线上有一个影片剪辑对象,第 6 帧称为“EnvF6”(这是影片剪辑的实例名称)。

播放完 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);
          }
}
4

1 回答 1

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 的内容。当您在移除侦听器之前移除对象时,这会导致冲突。

于 2013-11-06T09:09:20.000 回答