鼠标出舞台,“手放开”

一般的,只要和鼠标有关系的某个功能swf文件!都少不了离开 舞台(即离开swf的处理)  

但是怎么处理最方便呢??

那就是是自动触发机制  自动出发事件 dispatchEvent()

打个比方 假如 一个mc 当按下鼠标时 这个mc跟随mc   即mouseDown事件 当弹起鼠标时出发mouseUp事件  mc回到舞台中央

mc.addEventListener(MouseEvent.MOUSE_DOWN,onDown);

mc.addEventListener(MouseEvent.MOUSE_UP,onUp);

private function onDown(e:MouseEvent):void{

isDown=true

mc.x=stage.mouseX

mc.y=stage.mouseY

}

private function onUp(e:MouseEvent):void{

isDown=false'

Tweener.addTween(mc,{time:1,x:stage.stageWidth/2,y:stage.stageHeight/2});

}

当我们只这样做,而不加离开swf时的处理模块时,一般在和鼠标有关系的应用程序中 很容易产生 bug

当我们离开swf  并且弹起鼠标 由于 swf不是焦点 故接受不到这个事件 当你在移动鼠标进入swf中,发现mc依然跟随鼠标 这是我们不愿意看见的

所以 我们需要在离开舞台时时触发  mouseUp事件

也就是在

enterFrame事件中加上 发送事件

private function onFrame(e:Event){

 if(isDown){

if((stage.mouseX>stage.stageWidth)||(stage.mouseX<0)||(stage.mouseY>stage.stageHeight)||(stage.mouseY<0)){

mc.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_UP));//触发mouseUo事件

}

 }

}

上面的方法只是最基础的处理原型 !!触发对等的事件可以节省很多代码!!!


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hu36978/archive/2010/07/31/5777836.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值