AS3代码播放GIF动画

问题:

工作室开新项目,用到了许多旧项目的美术资源,其中包括很多GIF图片格式的动画。然而当同事把GIF动画加载到项目中时发现只有第一帧展示出来了,动画变成了静态图。如果将GIF图片导入Flash库,是可以看到所有帧的,再导出swf也不失为一种办法,然后资源体积略大,并不理想。


思考:

两个思路:

1.让AS3代码直接播放GIF动画

2.批量将GIF资源转化为swf(一个一个导入Flash再导出太繁琐了)


解决:

第一套方案首选,而且很快得到解决,原来早有高人为我们解决了此难题:http://code.google.com/p/as3gif/downloads/list

这是一个开源项目,下载回来后将源代码引用到你的工程,初始化 GIFPlayer,传递一个URLRequest,添加到舞台即可。使用完后记得调用dispose()方法释放资源。


后续思考:

仔细研究过代码后发现,实现思路是循环播放一个帧序列,原理类似某些网页游戏中角色或者NPC的Avatar实现原理,在大量使用的时候,可能会占用较多内存,这可能会成为以后的性能瓶颈,后续如果出现这种情况,可以考虑加入资源池缓解压力。

跟产品同事的协商也很重要,满屏的动画未必是很好的用户体验。


Enjoy it.

你可能感兴趣的:(AS3代码播放GIF动画)