转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

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

简介: Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式 出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html 关于AS3加载图片等外部资源,我常用的有两种方式:Loader和Embed,各自的特点,总结如下:...

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

出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html

关于AS3加载图片等外部资源,我常用的有两种方式:Loader和Embed,各自的特点,总结如下:
Embed:在Flash编译阶段就将资源嵌入,也就是说图片资源是会被编译进swf文件里面去的;这样子的好处是代码比较简洁,使用方便,也不存在加载顺序的问题,缺点是会增大swf文件的体积 
Loader:在Flash运行阶段动态加载资源,这种方式不会影响swf文件的体积,而且可以很灵活地更改你要加载的资源,但是有可能会遇到路径变更或者跨域问题,同时,过多地使用Loader去动态加载无疑会加重服务器负担,因此需要和Embed权衡使用 
书写的例子如下:
Embed:
[Embed(source = "../assets/images/closeBtn.png")]
private var closeBtnImage:Class //需要嵌入的图片对象
private var btnSprite:Sprite = new Sprite();
private function test():void {
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.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
}
//监听到Loader加载完毕以后执行的函数
private function loadComplete(e:Event):void {
var l:Loader=Loader(e.target.loader);//得到Loader对象
var bm:Bitmap = Bitmap(l.content);//Loader里面的内容
trace(l);
trace(bm);
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章