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


你可能感兴趣的:(AS3加载外部swf资源库中的元件(MovieClip))