Flash AS3.0加载外部资源(图片、MP3、SWF)的两种方式

来源:互联网 发布:windows 文件后缀名 编辑:程序博客网 时间:2024/05/16 11:48

关于AS3加载图片等外部自言,大部分人常用的有两种方式:Loader 和Embed ,各自的特点,总结如下:

Embed :在Flash编译阶段就将资源嵌入,也就是说图片资源是会被编译进swf文件里面去的;这样子的好处是代码比较简洁,使用方便,也不存在加载顺序的问题,缺点是会增大swf文件的体积

Loader:在Flash运行阶段动态加载资源,这种方式不会影响swf文件的体积,而且可以很灵活地更改你要加载的资源,但是有可能会遇到路径更改或者跨域问题,同时,过多地使用Loader去动态加载无疑会加重服务器负担,因此需要和Embed权衡使用


书写例子:

Embed:

[Emberd(source = "../asset/images/closeBtn.png")]

private var closeBtnImage:Class;//需要嵌入的图片对象

private var btnSprite:Sprite = new Sprite();

private function test(){

var bmp:Bitmap = new closeBtnImage();

btnSprite.addChild(bmp);

}

Loader:

private function addItem():void{

var loader:Loader = new Loader();

loader.load(new URLRequest("http://zhufei.de/something.png"));

loader.contentInfo.addEventListener(Event.COMPLETE,loadComplete);

}

//监听到Loader加载完毕以后执行的函数

private function loadComplete(e:Event){

var l:Loader = Loader(e.target.loader); //得到Loader对象

var bm:Bitmap = Bitmap(l.content);//Loader里面的内容

}




原创粉丝点击