as3.0 TypeError: Error #1009: 无法访问空对象引用的属性或方法. at _fla::MainTimeline/dragStop2()
import flash.events.MouseEvent;
GM2.addEventListener(MouseEvent.MOUSE_DOWN, dragGM2);
stage.addEventListener(MouseEvent.MOUSE_UP, dragStop2);
stage.addEventListener(Event.ENTER_FRAME, hit2);
stop();
function dragGM2(event:MouseEvent):void{
GM2.startDrag();
}
function dragStop2(event:MouseEvent):void{
stage.removeEventListener(Event.ENTER_FRAME, dragStop2);
GM2.stopDrag();
}
function hit2(e:Event):void{
if (GM2.hitTestObject(BOOM_G)) {
stage.removeEventListener(Event.ENTER_FRAME, hit2);
GM2.visible = false;
gotoAndPlay("two");
}
}
代码设计是想 当GM1\GM2\GM3\GM4\GM5接触到BOOM_G后,分别跳到标签帧one、two、three、four、five
可是在GM2接触的一帧中,报以上的错误。
于是我在dragStop2中加了stage.removeEventListener(Event.ENTER_FRAME, dragStop2);
然后在GM1接触的一帧中,同样的位置也出现同样的错误。
接着我在dragStop1中加了stage.removeEventListener(Event.ENTER_FRAME, dragStop1);
但是GM2接触的一帧中,再次报出以上错误。
求大神指教,我应该怎么修改 ?? 展开
2015-04-28
//
GM2.addEventListener(MouseEvent.MOUSE_DOWN, dragGM2);
GM2.addEventListener(MouseEvent.MOUSE_UP, dragStop2);
stage.addEventListener(Event.ENTER_FRAME, hit2);
stop();
function dragGM2(event:MouseEvent):void{
GM2.startDrag();
}
function dragStop2(event:MouseEvent):void{
stage.removeEventListener(Event.ENTER_FRAME, hit2);
GM2.stopDrag();
}
function hit2(e:Event):void{
if (GM2.hitTestObject(BOOM_G)) {
stage.removeEventListener(Event.ENTER_FRAME, hit2);
GM2.removeEventListener(MouseEvent.MOUSE_DOWN, dragGM2);
GM2.removeEventListener(MouseEvent.MOUSE_UP, dragStop2);
GM2.visible = false;
gotoAndPlay("two");
}
}