[AS3]鼠标事件MouseEvent全解析
一、单击和双击:
CLICK:要使单击事件发生,它必须始终在以下顺 序的一系列事件后面:mouseDown事件,然后是mouseUp事件。这两个事件的目标对象必须相同,否则不会发生click事件。 mouseDown或mouseUp事件之间的任何时间会发生任何数量的其它鼠标事件,比如MOVE,click事件仍会发生。
双击:首先要把 InteractiveObject.doubleClickEnabled=true,否则目标只是接收两个CLICK事件。要使 doubleClick事件发生,它必在以下一系列事件后面:mouseDown、mouseUp、click、mouseDown、mouseUp。所 有这些事件必须共享与doubleClick事件相同的目标。第二个mouseDown和mouseUp事件代表第二次单击,该行为必须在click事件 之后的指定时间段内发生。该时间段的允许长度因操作系统而异,而且通常可由用户配置。
二、容器的mouseChildren属性和InteractiveObject的mouseEnabled属性
如 果容器中的子对象不需要或者我们不希望它参与鼠标互动,可以将mouseChildren属性设置为false,这样鼠标事件的target属性就会指向 容器,而不是最里层的显示对象。同样的,所有InteractiveObject的子类对象都有mouseEnabled属性,设置为false,也可以 达到目的。
三、MOUSE_OVER、MOUSE_OUT和ROLL_OVER、ROLL_OUT的区别
ROLL 系列的bubbles属性为false,即不参与事件冒泡。举例,容器C有对象A和B。如果A和B不需要接受鼠标事件,可以直接把 mouseEnabled设置为false或者将C的mouseChildren设置为false。但如果A和B需要接受其他鼠标事件,我们又不想用 MOUSE_OVER、MOUSE_OUT导致容器C不停地发出事件,就可以用ROLL系列。
四、mouseWheel
当鼠标滚轮滚动到InteractiveObject实例上时调度。如果目标为文本字段,则作为默认行为,该文本会滚动。可以使用systemManager进行侦听,并在侦听函数里进行处理,可能要用到delta属性:
delta属性
指示用户将鼠标滚轮每滚动一个单位应滚动多少行。正delta值指示向上滚动;负值指示向下滚动。通常所设的值为1到3;值越大,滚动得越快。此设置取决于设备和操作系统,并且通常可由用户配置。此属性仅应用于MouseEvent.mouseWheel事件。
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例