as3.0中,鼠标对场景显示的控制
答得好会再加分~谢谢(PS:只要在as3.0里写的代码,不要用其它软件的代码)以下是说明:(最好写出代码加注释)比如我的场景图或mc是2000*1000,而我的舞台(可视...
答得好会再加分~谢谢 (PS:只要在as3.0里写的代码,不要用其它软件的代码)
以下是说明:(最好写出代码加注释)
比如我的场景图或mc是2000*1000,而我的舞台(可视区域)是800*500。
在打开swf后,(舞台上)可视区域随我的鼠标移动,且最多移动到场景边缘停止。
具体样式如下图:
就是我后面的场景图整个是个mc,我想写段代码,依靠鼠标移动来控制可视舞台的区域。
这是我用来控制mc不超出stage,但却没什么效果。
mc_cj.addEventListener(Event.ENTER_FRAME,myFun)
function myFun(event:Event):void{
if(event.target.x>=1250,event.target.x<=-225,
event.target.y>=680,event.target.y<=-140)
{
mc_cj.removeEventListener(Event.ENTER_FRAME,myFun)
}else{
event.target.x-=(event.target.x-mouseX)/40;
event.target.y-=(event.target.y-mouseY)/40;
}
}
错在哪里?
如何获取鼠标在stage中的坐标,就像在2.0中:
nowx = _root._xmouse;
nowy = _root._ymouse;这样~
还有就是我想让mc的移动和我鼠标的移动相反,达鼠标坐标X+时,event.target.x-
如果说不清楚,可以留qq,解决问题,分数照加的~
请教高手了,急啊~ 展开
以下是说明:(最好写出代码加注释)
比如我的场景图或mc是2000*1000,而我的舞台(可视区域)是800*500。
在打开swf后,(舞台上)可视区域随我的鼠标移动,且最多移动到场景边缘停止。
具体样式如下图:
就是我后面的场景图整个是个mc,我想写段代码,依靠鼠标移动来控制可视舞台的区域。
这是我用来控制mc不超出stage,但却没什么效果。
mc_cj.addEventListener(Event.ENTER_FRAME,myFun)
function myFun(event:Event):void{
if(event.target.x>=1250,event.target.x<=-225,
event.target.y>=680,event.target.y<=-140)
{
mc_cj.removeEventListener(Event.ENTER_FRAME,myFun)
}else{
event.target.x-=(event.target.x-mouseX)/40;
event.target.y-=(event.target.y-mouseY)/40;
}
}
错在哪里?
如何获取鼠标在stage中的坐标,就像在2.0中:
nowx = _root._xmouse;
nowy = _root._ymouse;这样~
还有就是我想让mc的移动和我鼠标的移动相反,达鼠标坐标X+时,event.target.x-
如果说不清楚,可以留qq,解决问题,分数照加的~
请教高手了,急啊~ 展开
2个回答
展开全部
提示:
第一种方法:场景是不可移动的,只能移动你的图片。检测图片到场景的距离,来判断,图片是否可以继续移动。用MouseEvent.MOUSE_MOVE来添加侦听。
第二种方法:(跟你说明违背)场景和图片一样大,然后,做一个遮罩。让遮罩的图形随你的鼠标移动。
----------------------------------
代码很简单,我想你应该写的出来。
第一种方法:场景是不可移动的,只能移动你的图片。检测图片到场景的距离,来判断,图片是否可以继续移动。用MouseEvent.MOUSE_MOVE来添加侦听。
第二种方法:(跟你说明违背)场景和图片一样大,然后,做一个遮罩。让遮罩的图形随你的鼠标移动。
----------------------------------
代码很简单,我想你应该写的出来。
追问
我的情况只能用第一种。
如何获取鼠标在stage中的坐标,就像在2.0中:
nowx = _root._xmouse;
nowy = _root._ymouse;这样~
还有就是我想让mc的移动和我鼠标的移动相反,当鼠标坐标X+时,event.target.x-
如果说不清楚,可以留qq,解决问题,分数照加的~
请教高手了,急啊~
追答
你能取得STAGE就能取得鼠标在主场景的坐标,如果你不知道AS3.0是怎么写的,你就去翻翻帮助文档。
你是说你不会判断鼠标是往左运动还是往右运动?
如果你不会用move侦听,那就自己写个函数一样的。
具体:
鼠标移动之前存一下鼠标的坐标,移动之后的新坐标和以前的坐标相比,这样不就知道鼠标是左走还是右走了。
-----------------------
方法都说了,难道还要人帮你写代码吗?
展开全部
1 图层1放场景图a_mc;
2 图层2设置图层1的遮罩层,做一个大小和你需要的可视区域相同的元件p_img,位置由
p_img.x=p_img.x>=1000?p_img.x=1000:p_img.x=a*mouseX+b
p_img.y=p_img.y>=1000?p_img.y=1000:p_img.y=a*mouseY+b(a,b由自己调试数值)
3 图层3放可是区域b_mc;位置由b_mc.x=p_img.x;b_mc.y=p_img.y;
1帧的动画就不要侦听器了吧。
2 图层2设置图层1的遮罩层,做一个大小和你需要的可视区域相同的元件p_img,位置由
p_img.x=p_img.x>=1000?p_img.x=1000:p_img.x=a*mouseX+b
p_img.y=p_img.y>=1000?p_img.y=1000:p_img.y=a*mouseY+b(a,b由自己调试数值)
3 图层3放可是区域b_mc;位置由b_mc.x=p_img.x;b_mc.y=p_img.y;
1帧的动画就不要侦听器了吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询