在我的程序中,我有一个小箭头旋转,这是使用
的代码import flash.events.Event;
var spinSpeed:Number = 2;
function onEnterFrame(event:Event):void{
myMovieClip.rotation += spinSpeed;
}
addEventListener(Event.ENTER_FRAME, onEnterFrame);
btnnext14.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame_11);
function fl_ClickToGoToAndStopAtFrame_11(event:MouseEvent):void
{
gotoAndStop(39);
}
它工作正常并且箭头旋转,但当我尝试转到下一张幻灯片时,我收到错误#1009
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at pp2_fla::MainTimeline/onEnterFrame()[pp2_fla.MainTimeline::frame38:9]
任何人都知道什么是错的?
答案 0 :(得分:1)
这可能是您的问题:
在您发布的代码运行的任何帧上,您都会添加一个enter_frame侦听器。 您可能不知道,即使您更改为第39帧,您创建的此enter_frame侦听器也将继续运行。
最有可能在第39帧,您的myMovieClip
对象不再存在,因此当您的onEnterFrame
从第39帧开始运行时,它会出错。
要解决此问题,请在继续执行第39帧之前删除enter_frame侦听器:
function fl_ClickToGoToAndStopAtFrame_11(event:MouseEvent):void
{
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
gotoAndStop(39);
}