flash学习之mouseChildren 与 mouseEnabled
?
如果你有一定的as游戏 开发 经验,那相信你也应该知道但场景里放入好多的子可视对象 时,鼠标的滑动会导致cpu的狂飙;
原因主要在于fp内部在不停的遍历可视对象.你可能会用过或者知道可视对象都有这个方法getObjectsUnderPoint () 它能够返回鼠标点下的可视对象列表 .这也是鼠标滑过时消耗高的原因所在.当然它更大的用途是用于辅助重绘的实现以及其他. 有什么方法可以降低这块的消耗呢?答案是有的; 每个可视对象都有两个属性 mouseChildren 跟mouseEnabled mouseChildren 的作用是确定对象的子项是否支持鼠标 而 mouseEnabled? 的作用就在于??指定此对象是否接收鼠标消息。? 恩很显然 mouseEnabled跟 mouseChildren就是决定对象是否可以侦听鼠标事件 的关键所在; 事实也证明只要设置了这两个属性鼠标滑过的高消耗就减少了,那是因为但这两个属性都设置为false后 就不在归到遍历树的对象中去了, ? adobe 帮助的解释:
指定此对象是否接收鼠标或其他用户输入、消息。默认值为 设置此属性不会调度任何事件。您必须使用 ?
确定对象的子级是否支持鼠标或用户输入设备。如果对象支持鼠标或用户输入设备,用户可以通过使用鼠标或用户输入设备与之交互。默认值为 当您使用 Sprite 类的实例(而不是使用 SimpleButton 类)来创建按钮时,此属性很有用。当您使用 Sprite 实例来创建按钮时,可以选择使用 设置此属性不会分派任何事件。您必须使用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |