本章我军将一起来看几个可能会被忽略的资源压缩问题。
压缩XML
XML是Flash中经常用到的数据提供源,那么当我们的游戏或者应用越来越大时,XML配置文件也会跟着变大,这将会占用我们很多的加载时间。那么你可能不知道我们可以把XML文件压缩成二进制数据然后保存起来,这样将会为你节省50%(保守估计)以上的空间。
其实早在09年就有人发现了这个秘密并在博客中详细地写了出来,在国内也有人翻译过了:http://bbs.9ria.com/viewthread.php?tid=40877只是那时那没有多少人做大型Flash应用开发,所以没引起多少重视,我们看到上面贴出的那个帖子回帖者寥寥无几。但是这确实是一门非常实用的技术,值得列位仙家阅读并运用到实际项目中去。
在上面这个翻译的帖子的最后我们看到原作者说“在下一篇文章中,我们会看到你也可以使用Flash/ActionScriopt 3轻易地创建一个小工具,用来加载、读取、编辑以及把XML文件保存成二进制格式。”但是却没有找到这个“下一篇文章”的地址,我这里贴出地址,这个地址是英文原文的地址,英文好的道友可以看一看原理,英文不好的就直接看代码或者直接用它文章里贴出的“XML压缩应用”来试着压缩一些你本地的XML文件吧,如果你不喜欢在线使用这个压缩工具,那好吧,我给出一个单机版的,你一定会喜欢的: <ignore_js_op> XML压缩工具.rar (3.4 KB, 下载次数: 298)
压缩图片
图片是我们最常用的资源了。在flash里最常用的图片格式是.jpg和.png,对于png格式的图片是保留了透明通道的图片,所以一般来说它的尺寸会比jpg大,所以在没有用上透明层的条件下尽量使用jpg格式,即使用上了png格式你也可以根据使用需要选择png图片压缩的类型(png8, png24, png32)。而在使用jpg格式图片的时候你也可以简单地压缩jpg图片的品质(ACDSee等图片浏览软件都支持此功能),一般来说80%品质看起来和100%的品质差别不会很大,而尺寸则会大大削减。
用swf存放所有素材
swf文件本身就是一种压缩过的产物,你可以在flashCS工具中将所有素材放入库中然后将这些素材都导出为ActionScript后,外部加载完毕此swf后就可以使用了。编译后库中的所有资源,不论是图片,xml,声音还是其他任何东西都将被压缩为二进制数据,大大削减素材总尺寸。在下一章中我将告诉大家如何最大限度地使用外部加载进swf中的资源。
最后给出一个连接看看前辈们总结的削减素材尺寸的经验:http://www.hot126.com/html/1576.html