我在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]
感谢任何帮助。
答案 0 :(得分:1)
一个onEnterFrame侦听器被调用但未被删除,它引用了一个在goto调用之后不在舞台上的对象(bg)。
function tohallwayClick(event:MouseEvent):void {
**removeEventListener(Event.ENTER_FRAME, enterF);**
gotoAndStop(141);
}
答案 1 :(得分:-1)
首先确保你的按钮和你的代码在同一帧上,它们可以在不同的层上,但要确保它们排成一行。
如果您希望它转到主时间轴或舞台上的框架,而不是写作:
gotoAndStop (141)
尝试:
stage.gotoAndStop(141);