加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

AS3加载图片等外部资源

发布时间:2020-12-15 06:28:35 所属栏目:百科 来源:网络整理
导读:关于AS3加载图片等外部资源,常用的有两种方式:Loader和Embed,各自的特点,总结如下: Embed:在Flash编译阶段就将资源嵌入,也就是说图片资源是会被编译进swf文件里面去的;这样子的好处是代码比较简洁,使用方便,也不存在加载顺序的问题,缺点是会增大s

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

Embed:在Flash编译阶段就将资源嵌入,也就是说图片资源是会被编译进swf文件里面去的;这样子的好处是代码比较简洁,使用方便,也不存在加载顺序的问题,缺点是会增大swf文件的体积 Loader:在Flash运行阶段动态加载资源,这种方式不会影响swf文件的体积,而且可以很灵活地更改你要加载的资源,但是有可能会遇到路径变更或者跨域问题,同时,过多地使用Loader去动态加载无疑会加重服务器负担,因此需要和Embed权衡使用

书写的例子如下:
Embed:
[Embed(source?=?"../assets/images/closeBtn.png")]
privatevar?closeBtnImage:Class//需要嵌入的图片对象
privatevar?btnSprite:Sprite?=?newSprite);
privatefunctiontest):void{
var?bmp:Bitmap?=?new?closeBtnImage);
btnSprite.addChild(bmp);
}

Loader:
privatefunction?addItem{
varloader:Loader?=?newLoaderloader.load(newURLRequest("http://zhufei.de/something.png"contentLoaderInfo.addEventListenerEvent.COMPLETE,?loadComplete}

//监听到Loader加载完毕以后执行的函数
privatefunction?loadComplete(e:Event{
var?l:Loader=(e.target.loader);//得到Loader对象
var?bm:Bitmap?=?Bitmap(l.content);//Loader里面的内容
trace(l(bm}

?

位图占内存大的处理方法:

通过URLLoader指定BINARY方式读取图片文件,其data属性就是JPG或者其它压缩格式的ByteArray数据。保存图片ByteArray数据到内存。再通过loader.loadBytes来加载ByteArray数据。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读