leo

导航

AS3 从外部SWF中获取资源的方法(ApplicationDomain的使用)

Posted on 2013-07-08 11:13  李锷  阅读(432)  评论(0)    收藏  举报
package
{
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.URLRequest;
    import flash.system.ApplicationDomain;
    
    /**
     *资源加载器 
     * @author Administrator
     * 
     */
    public class test2 extends Sprite
    {
        private var load:Loader;
        
        public function test2()
        {
            load=new Loader();
            var URl:URLRequest=new URLRequest("res/applicationDomainTest.swf");
            load.load(URl);
            load.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoad);
            
        }
        
        private var doman:ApplicationDomain;
        private var _class:Class;
        private function onLoad(evt:Event):void{
            //创建域 
doman
=load.contentLoaderInfo.applicationDomain as ApplicationDomain;
_class
= doman.getDefinition("hy1") as Class; var bd:BitmapData=new _class; var bitmap:Bitmap=new Bitmap(bd); addChild(bitmap); } } }
解析:
ApplicationDomain是存放AS3定义(包括类、方法、接口等)的容器。使用Loader类加载swf时可以通过指定ApplicationDomain参数将swf加载到不同的域(Domain)。