AS3 小技巧
作者:Jexm 日期:2009-12-27
1, DisplayObjectContainer继承了以下4个属性有时候很没必要,把他们false了会提升很多运算效率,特别对于Object超多的情况下,鼠标动一动,一冒泡,CPU马上高起来
程序代码
yourObject.mouseEnabled = false;
yourObject.tabEnabled = false;
yourObject.mouseChildren = false;
yourObject.tabChildren = false;
2, 合理使用stopImmediatePropagation 方法;
这个方法很多人不知道也不用,其实还是很爽的,它的作用就是阻止你同一事件其他优先级比较低的事件被执行,看个实例就知道了
程序代码
//给stage添加2个侦听2,1是优先级~ 2的优先级比1高.
stage.addEventListener(MouseEvent.MOUSE_DOWN,function_B,false,1);
stage.addEventListener(MouseEvent.MOUSE_DOWN,function_A,false,2);
function function_B(event:MouseEvent):void {
trace("我叫B!");
}
function function_A(event:MouseEvent):void {
trace("我叫A!");
//停止
event.stopImmediatePropagation();
}
//输出:只有“我叫A!”说明stopImmediatePropagation已经起作用了
程序代码yourObject.mouseEnabled = false;
yourObject.tabEnabled = false;
yourObject.mouseChildren = false;
yourObject.tabChildren = false;
2, 合理使用stopImmediatePropagation 方法;
这个方法很多人不知道也不用,其实还是很爽的,它的作用就是阻止你同一事件其他优先级比较低的事件被执行,看个实例就知道了
程序代码//给stage添加2个侦听2,1是优先级~ 2的优先级比1高.
stage.addEventListener(MouseEvent.MOUSE_DOWN,function_B,false,1);
stage.addEventListener(MouseEvent.MOUSE_DOWN,function_A,false,2);
function function_B(event:MouseEvent):void {
trace("我叫B!");
}
function function_A(event:MouseEvent):void {
trace("我叫A!");
//停止
event.stopImmediatePropagation();
}
//输出:只有“我叫A!”说明stopImmediatePropagation已经起作用了
评论: 0 | 引用: 0 | 查看次数: 609
发表评论
上一篇
下一篇


文章来自:
Tags: 



