flash CS6中TypeError: Error #1009: 无法访问空对象引用的属性或方法。 at _fla::MainTimeline/xMove()

代码是importflash.events.MouseEvent;Mouse.hide();stage.addEventListener(MouseEvent.MOUSE... 代码是import flash.events.MouseEvent;

Mouse.hide();
stage.addEventListener(MouseEvent.MOUSE_MOVE,xMove);
function xMove(e:MouseEvent){
mb.x=stage.mouseX;
mb.y=stage.mouseY;
e.updateAfterEvent();
}
这个xMove是什么意思,代码是我看人家的,然后运用到我的作品上。我写的是as3.0代码
另外鼠标变成替换的图片后点击按钮要点好几下才转到下一个场景,是因为没对准吗??
展开
 我来答
百度网友e246de7
2017-12-08 · TA获得超过144个赞
知道小有建树答主
回答量:88
采纳率:80%
帮助的人:140万
展开全部
这个xMove就是你定义的方法名。他用来控制名为【mb】的影片剪辑的x、y位置和鼠标的xy位置一致。
这个【访问空对象】的报错,你需要检查一下,舞台上你写代码的这一帧是否有一个名为【mb】的影片剪辑,并且必须只有唯一的一个。

至于你说的第二个问题,因为AS3的容错机制比AS2严苛很多,你必须保证不报错的情况下,再来检验剩下的这些功能。
如果错误修复后你仍然还有对准与否的问题,【Mouse.hide();】这条语句用来隐藏鼠标指针,你可以先不隐藏,来观察你的替换影片和鼠标位置是否一致。
【e.updateAfterEvent();】这句话是在本帧强刷画面更新,我觉得你这里要不要都可以。
追问
谢谢你,但是我还有一些疑惑,只有一个mb元件,我的思路是毛笔(是图片不是元件)写完字,鼠标变成毛笔 ,然后点击“进入”按钮。(会不会是因为两个毛笔了?但是一个是元件一个是图片,会冲突吗?)我的鼠标替换代码是写在新的图层,这个代码里stage.addEventListener(MouseEvent.MOUSE_MOVE,xMove);的stage是什么意思?我看别人都是写按钮上的实例名。
追答
元件和图片不会冲突,因为图片是无法起名字的。【我要啰嗦一句,这个起名是点击元件,在其属性面板那里起的实例名称】你的这段代码是应该写在时间轴上的,如果你说的新图层是这个意思的话,是没错的。
stage.addEventListener(MouseEvent.MOUSE_MOVE,xMove);
stage是舞台的意思,这句话是给舞台添加一个鼠标移动侦听事件,就是只要鼠标移动了,就触发xMove函数。
后面的stage.mouseX就是舞台上鼠标的x位置。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式