AS3关于SWF美术资源的管理(二)
发布时间:2020-12-15 17:56:08 所属栏目:百科 来源:网络整理
导读:/** * 自动初始化MC美术资源/br * 实现了 UI 的封装 * @param $disp : DisplayObject 美术资源 SWF/MC * @param $paramDic : Dictionary 内部子资源 M * @param $pramObj MC中 MC * @author Aonaufly * */public function init($disp : DisplayObjectContain
/** * 自动初始化MC美术资源</br> * 实现了 UI 的封装 * @param $disp : DisplayObject 美术资源 SWF/MC * @param $paramDic : Dictionary 内部子资源 M * @param $pramObj MC中 MC * @author Aonaufly * */ public function init($disp : DisplayObjectContainer,$paramDic : Dictionary,$pramObj : Vector.<Object> = null):void{ if($disp && $paramDic){ var $name : String = ""; for( var $ii : int = 0,$len : uint = $disp.numChildren; $ii < $len ; $ii += 1){ $name = $disp.getChildAt($ii).name; if($paramDic[$name]){ $paramDic[$name] = $disp.getChildAt($ii); $paramDic[$name] = null; delete $paramDic[$name]; if(AinyTools.isEmpty($paramDic) ) break; } } if($pramObj){//初始化 子资源 ---Ainy var $myContainer : DisplayObjectContainer; var $mainIterms : Dictionary; for each(var $son : Object in $pramObj ){ $myContainer = $son["C"]; $mainIterms = $son["D"]; if($myContainer && $mainIterms){ for(var $jj : int = 0,$lenx : uint = $myContainer.numChildren ; $jj < $lenx ; $jj += 1){ $name = $myContainer.getChildAt($jj).name; if($mainIterms[$name]){ $mainIterms[$name] = $myContainer.getChildAt($jj); $mainIterms[$name] = null; delete $mainIterms[$name]; if(AinyTools.isEmpty($mainIterms)) break; } } }else{ trace("AINY---SWF 元素初始化 失败!!!"); } } } } //listerManager(true); } 关于参数 : $pramObj : Vector.<Object> "C" : 表示 此SWF面板($disp)中的一个MovieClip(DisplayObjectContainer),"D":表示里面的元素 比如-> var $pramObj : Vector.<Object> = new Vector.<Object>(); var $obj : Object = new Object(); $obj["C"] = mySlider as Sprite; $obj["D"] = upBtn as SimpleButton; $obj["D"] = downBtn as SimpleButton; $pramObj.push($obj); 当然你可以把$pramObj相关信息配置在XML或者JSON文件当中,用相关的类加载解析.我这里只是一个基本的原理. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |