关于stage的MouseEvent

最近遇到一个很令人费解的问题

 

鼠标移到舞台对象的空白区域时不会触发mouseOver事件,当然移出时也不会有mouseOut事件

 

code:

 

stage.addEventListener(MouseEvent.MOUSE_OVER,onMouOver)

 

function onMouOver(e:MouseEvent)

{

    trace(2);

}

 

在时间轴上测试如上代码不会有任何反应

 

当然如果你在舞台上添加一个影片剪辑,(没有F8成影片剪辑的手画的图形不可以),那么当鼠标移到影片剪辑上时,是会有反应的

 

不过显然上面所描述的现象的原因是时间流机制。

 

 

如果说舞台对象之所以不触发mouseOver事件,是因为舞台是空白的,那么这又无法解释click 与 mouseDown mouseUp等事件

 

如果把上面的代码改变一下

 

code:

 

stage.addEventListener(MouseEvent.MOUSE_DOWN,onMouDown)

 

function onMouDown(e:MouseEvent)

{

    trace(2);

}

 

测试可以知道是有效的

 

 

于是这就令人费解了,究竟基于怎样的原因,stage才不会自动触发mouseOver等事件呢

 

(没有用空白的来修饰stage是因为貌似没有什么办法来填充stage对象,也就是说stage永远只可能是空白的,而之所以加上自动的,是因为,显然如果你手工的去dispatch事件类型为mouseOver的MouseEvent事件,stage也是能够侦听到的)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值