我们有一个游戏,我们在主时间轴上有一个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);
}
}
答案 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的内容。在删除侦听器之前删除对象时,这会导致冲突。