1. 程式人生 > >AS3載入外部swf資源庫中的元件(MovieClip)

AS3載入外部swf資源庫中的元件(MovieClip)

 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);
}