flash学习之mouseChildren 与 mouseEnabled
来源:互联网 发布:软件网页培训学校 编辑:程序博客网 时间:2024/04/29 11:04
如果你有一定的as游戏开发经验,那相信你也应该知道但场景里放入好多的子可视对象时,鼠标的滑动会导致cpu的狂飙;
原因主要在于fp内部在不停的遍历可视对象.你可能会用过或者知道可视对象都有这个方法getObjectsUnderPoint ()
它能够返回鼠标点下的可视对象列表 .这也是鼠标滑过时消耗高的原因所在.当然它更大的用途是用于辅助重绘的实现以及其他.
有什么方法可以降低这块的消耗呢?答案是有的;
每个可视对象都有两个属性
mouseChildren 跟mouseEnabled
mouseChildren的作用是确定对象的子项是否支持鼠标 而
mouseEnabled 的作用就在于 指定此对象是否接收鼠标消息。
恩很显然 mouseEnabled跟 mouseChildren就是决定对象是否可以侦听鼠标事件的关键所在;
事实也证明只要设置了这两个属性鼠标滑过的高消耗就减少了,那是因为但这两个属性都设置为false后 就不在归到遍历树的对象中去了,
adobe 帮助的解释:
mouseEnabled
属性mouseEnabled:Boolean
指定此对象是否接收鼠标或其他用户输入、消息。默认值为 true
,这表示默认情况下,显示列表上的任何 InteractiveObject 实例都会接收鼠标事件或其他用户输入事件。如果将 mouseEnabled
设置为 false
,则实例不接收任何鼠标事件(或其他用户输入事件,例如键盘事件)。显示列表上的该实例的任何子级都不会受到影响。要更改显示列表上对象的所有子级的 mouseEnabled
行为,请使用 flash.display.DisplayObjectContainer.mouseChildren
。
设置此属性不会调度任何事件。您必须使用 addEventListener()
方法才能创建交互式功能。
mouseChildren
属性mouseChildren:Boolean
确定对象的子级是否支持鼠标或用户输入设备。如果对象支持鼠标或用户输入设备,用户可以通过使用鼠标或用户输入设备与之交互。默认值为 true
。
当您使用 Sprite 类的实例(而不是使用 SimpleButton 类)来创建按钮时,此属性很有用。当您使用 Sprite 实例来创建按钮时,可以选择使用 addChild()
方法添加其他 Sprite 实例来修饰该按钮。此过程可能导致鼠标事件出现意外行为,因为当您期望父实例成为鼠标事件的目标对象时,作为子项添加的 Sprite 实例却可能成为目标对象。要确保父实例用作鼠标事件的目标对象,您可以将父实例的 mouseChildren
属性设置为 false
。
设置此属性不会分派任何事件。您必须使用 addEventListener()
方法才能创建交互式功能。
- flash学习之mouseChildren 与 mouseEnabled
- flash学习之mouseChildren 与 mouseEnabled
- flash学习之mouseChildren 与 mouseEnabled
- mouseChildren 和 mouseEnabled
- Flex mouseEnabled和mouseChildren的区别
- flash 中关于mouseEnable与mouseChildren的思考
- Flash学习笔记之for
- Flash学习笔记之jsfl
- 学习FLASH之计划一
- 嵌入式学习之Nand Flash
- AS3 mouseEnable mouseChildren属性
- AS3 mouseEnable mouseChildren属性
- Flex 学习之路之一 Flash build 4.6的下载与安装
- NAND FLASH学习笔记之nand flash基础(一)
- NAND FLASH学习笔记之nand flash基础(二)
- NAND FLASH学习笔记之nand flash基础(三)
- NAND FLASH学习笔记之nand flash基础(一)
- NAND FLASH学习笔记之nand flash基础(二)
- 不一样的课程表,不一样的Excle--用Excle进行设计(42):排序所演绎的数据逻辑
- CButtonST的tooltip在点击按钮后消失的问题~~~
- Linux SMB共享设置流程
- 完整ASCII字符表
- 理解Bitblt、StretchBlt与SetDIBitsToDevice、StretchDibits
- flash学习之mouseChildren 与 mouseEnabled
- OO对象中up-casting和Down-casting
- OpenMeetings编译详解 (无需OpenLaszlo Server)
- Struts2 下载中文乱码解决 绝对简单低配
- SQL游标语法及举例
- 如何清除TFS代码库中不再需要的文件Pending Change和Lock?
- 安装VMware虚拟机和Linux操作系统
- 意志力 & 自制力
- 在服务器上安装phpMyAdmin