0

在我的程序中,我有一个小箭头在旋转,这是我使用的代码

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]

有谁知道怎么了?

4

1 回答 1

1

这可能是您的问题:

在您发布的代码运行的任何帧上,您都添加了一个 enter_frame 侦听器。您可能不知道您创建的这个 enter_frame 侦听器即使在您更改到第 39 帧后仍会继续运行。

很可能在第 39 帧上,您的myMovieClip对象不再存在,因此当您onEnterFrame从第 39 帧运行时,它会出错。

要解决此问题,请在移至第 39 帧之前删除 enter_frame 侦听器:

function fl_ClickToGoToAndStopAtFrame_11(event:MouseEvent):void
{
    removeEventListener(Event.ENTER_FRAME, onEnterFrame); 
    gotoAndStop(39);
}
于 2013-05-06T23:19:23.657 回答