本文主要是介绍AS3使用外部SWF文件的库文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在swf文件中使用外部swf文件的库文件,从而达到类似素材包的目的。
第一个文件pic.fla,添加四张图片到库中,为每一张图片关联一个类,我关联的类名分别是a1、a2、a3、a4,并在第一帧导出(关联 时会把图片名字默认为关联的类名,文件编译的时候会自动生成一个类)。再创建一个as文件Pic.as作为pic.fla的文档类,内容如下:
package {import flash.display.MovieClip;public class Pic extends MovieClip {public static const arr:Array=[a1,a2,a3,a4];public function Pic() {}public function getPic(n:int):* {var c:Class=arr[n];var movie:*=new c;return movie;}} }
公共方法getPic()是用来返回库中的素材图片的,这里只设计里一个参数——素材编号来获得需要的素材,现实项目中可以定义更多的获取规则。“new c”的实例化过程也可以放到外部,以剥离该功能。
第二个文件load.fla,这个文件就是把pic.fla文件当成外部素材包加载的,为了实验简便,就没有给load.fla做文档类,而直接把代码写在了帧上。代码如下:
var loader:Loader=new Loader(); var url:URLRequest=new URLRequest("pic.swf"); loader.load(url); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCom); function onCom(e:Event){var m:*=e.target.content;addChild(m.getPic(0)); }
当加载完成后,调用pic.swf的getPic()方法,传递要获得的素材编号即可获得该素材。这样,就可以在不修改load.fla的情况下修改项目的素材了。
这篇关于AS3使用外部SWF文件的库文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!