as3.0 TypeError: Error #1009: 无法访问空对象引用的属性或方法. at _fla::MainTimeline/dragStop2()

importflash.events.Event;importflash.events.MouseEvent;GM2.addEventListener(MouseEven... import flash.events.Event;
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");
}
}


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式