在使用flash的时候,我们要用到一个链接类的功能,其中包括一点,如何使用swf资源库。
简单来说。就是如何把库中的元件加载到场景中。
假如我们创建了一个元件,取名:ExampleMc
如果要载入到场景,只有写这么一句:
var example:MoviceClip=new ExampleMC; addChild(example)
然后发布就可以看到元件已经加载到场景了。
不管是从库中加载到场景内什么,比如影片剪辑,位图等资源,都使用上面这一句。
接下来,我们把所需要的资源放到一个swf文件,如果其他swf要使用这些资源,只需要把包含资源的swf文件导入就可以使用了。这样就实现了库的重复利用。不必打开两个flash复制来复制去。
新建flash文档,文件名为:element.swf,里面做出我们所用到的库元件,取名:MCExample
然后再建立一个使用该库的flash文档,输入如下代码:
//库资源的地址 var swfurl:String="element.swf"; //创建Loader类的实例 var context : LoaderContext = new LoaderContext(); //指定为当期域 context.applicationDomain = ApplicationDomain.currentDomain; var loader:Loader=new Loader(); //加载外部的swf库 loader.load(new URLRequest(swfurl),context); //注册加载完成事件 loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete); //定义侦听函数 function onComplete(e:Event):void { //得到类定义 var className:Class=ApplicationDomain.currentDomain.getDefinition("MCExample") as Class; //从库中导出资源 var mc:MovieClip=new className(); //放到场景中间 mc.x=275; mc.y=200; //添加到显示列表 this.addChild(mc); }
测试,可以看到库元件已经导入进去了。这样只有生产了swf,我们每次想要改动swf文件,单独的改element.swf文件里的元件就可以。
|