AS3載入外部swf資源庫中的元件(MovieClip)
阿新 • • 發佈:2019-02-10
AS3載入外部swf資源庫中的元件(MovieClip),使用場景:載入遠端伺服器的資源,多用於產品化業務。
外部資源庫的元件給出AS連線,用於在程式碼中反射,下面虛擬碼中體現為 “mc_link”。
以下是虛擬碼:
/** * @p_url 外部資源庫的url地址 * @p_complete 載入完成的回撥函式 */ public function loadAsset(p_url:String,p_complete:Function):void { var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, p_complete); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError); //處理可能的跨域問題 var context:LoaderContext=new LoaderContext(); context.applicationDomain=ApplicationDomain.currentDomain; context.securityDomain=SecurityDomain.currentDomain; loader.load(new URLRequest(p_url), context); } public function loadComplete(e:Event):void { if(!e.currentTarget.applicationDomain.hasDefinition("mc_link")) return;//資源不存在 var loadMc:Class = e.currentTarget.applicationDomain.getDefinition("mc_link") as Class;//key code var mc:MovieClip = new loadMc(); addChild(mc); }