动作脚本3:gotoAndStop

时间:2012-07-18 01:27:28

标签: actionscript-3 flash button actionscript frame

我在Flash CS3中有一个项目给我带来了一些麻烦。我有一个movieclip,在那个movieclip中,我有一个按钮。 movieclip名为 bg ,按钮名为 tohallway_btn 。我的编码在一个层的舞台上,而不是在类或包中,或任何类似的东西。这是我的编码:

bg.tohallway_btn.addEventListener(MouseEvent.CLICK, tohallwayClick);
function tohallwayClick(event:MouseEvent):void{
        gotoAndStop (141);
    }

看起来很简单,但是当我调试并点击按钮时,flash播放器会冻结。我完全不知道是什么导致它这样做。

我的输出中也出现了类型错误:

TypeError:错误#1009:无法访问空对象引用的属性或方法。     在Camille_fla :: MainTimeline / enterF()[Camille_fla.MainTimeline :: frame140:130]

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

一个onEnterFrame侦听器被调用但未被删除,它引用了一个在goto调用之后不在舞台上的对象(bg)。

function tohallwayClick(event:MouseEvent):void {
    **removeEventListener(Event.ENTER_FRAME, enterF);**
    gotoAndStop(141);
}

答案 1 :(得分:-1)

首先确保你的按钮和你的代码在同一帧上,它们可以在不同的层上,但要确保它们排成一行。

如果您希望它转到主时间轴或舞台上的框架,而不是写作:

gotoAndStop (141)

尝试:

stage.gotoAndStop(141);