Flash AS3教程:Level2D类

2019-10-08 16:35:48王冬梅

}else{
for(i = 0; i < num; i ){
var dis:DisplayObject = _range.getChildAt(i);
var isEnter:Boolean = true;
for(var index:String in arg){
if(dis[index] != arg[index]){
isEnter = false;
break;
}
}
if(isEnter) tmpAr.push(dis);
dis = null;
}
}
return tmpAr;
}

//以特定方式遍历该范围的显示对象
public function forEach(fun:Function,arg:Object = null):void{
var tmpAr:Array = getDisplay(arg);
for(var i:int = 0; i < tmpAr.length; i ){
var str:String = fun(tmpAr[i],i);
if(str == "true") return;
}
tmpAr = null;
}

//给定一个排序数组,进行排序
protected function inOrder(tmpAr:Array):void{
for(var i:int = 0; i < tmpAr.length; i ) _range.addChild(tmpAr[i] as DisplayObject);
}

//设置实时重排
public function set isTime(_isTime:Boolean):void{
if(_isTime) _range.addEventListener(Event.ENTER_FRAME,resetFun);
else _range.removeEventListener(Event.ENTER_FRAME,resetFun);
}

//实时重排
private function resetFun(e:Event):void{
reset();
}

//返回操作区域
public function get range():DisplayObjectContainer{
return _range;
}

//侦听
public function addEventListener(type:String,listener:Function,useCapture:Boolean = false,priority:int = 0,useWeakReference:Boolean = false):void{
dispatcher.addEventListener(type,listener,useCapture,priority,useWeakReference);
}

//调度
public function dispatchEvent(event:Event):Boolean{
return dispatcher.dispatchEvent(event);
}

//是否含有侦听
public function hasEventListener(type:String):Boolean{
return dispatcher.hasEventListener(type);
}

//移除侦听
public function removeEventListener(type:String,listener:Function,useCapture:Boolean = false):void{
dispatcher.removeEventListener(type,listener,useCapture);
}

//检查侦听
public function willTrigger(type:String):Boolean{
return dispatcher.willTrigger(type);
}
}
}Level2DEvent类源代码:

CODE: