SpriteSheet(精灵列表)在Android中的应用
2016-02-22 13:19
369 查看
概念
在自定义的界面中通常会有自定义view,尤其在一些2D小游戏当中,就会使用一连串的任务动作图片,这一串原始图片通常是美工修出来的一个个图片,组合在一起就是一个任务的一些列动作,当然也可以合成动态图:在使用的时候当然也可以通过读取资源文件,一个一个的显示在界面上,但是通常图片资源文件会很多,就会显得工程很乱。cocos2d中有一个更加高效的方式,就是精灵表单SpriteSheet。SpriteSheet是将分散的一些列图片组合成异常图片,在使用的时候,通过图片上的位置和大小,将图片截取出来,显示在图片上。
这里使用到的工具是TexturePacker,该工具将图片组合到一起,同时保存原图在生成图片上的所有位置和大小的信息。生成的图片如下:
在图片上可以看到,生成的图片位置的顺序是错乱的,而且图片的长宽并不一样,图片中的每一个图片也没有对齐。这样做的好处就是有些表单生成后,会减少表单图片大小,节省空间,而且图片是可以旋转后生成到表单图片中。
在使用这样的表单图片的时候,由于位置和大小都是不同的,所以不能同通过简单的剪裁就能获取到完成的图片,需要更具图片的位置信息才能使用,TexturePacker工具会同时生成一个文档,包含图片的位置、大小、是否旋转。生成的格式可以通过设置,选择生成为xml、json或者其他的文件格式。文件如下:
得到这个文件之后,就可以同时将表单图片和plist文件放到安卓工程当中。使用的时候只需要解析plist文件得到对应图片的位置、大小等信息,解析的时候按照你选择生成的数据格式,如json,xml等。而且解析一次后,对于在次生成的图片,数据格式相同,就可以使用一样的解析方式。
github上面的一个解析的工程
https://github.com/saylorzhu/SpriteSheet
相关文章推荐
- ActionBar学习笔记(一)
- Android 通过JNI实现守护进程,使得Service服务不被杀死
- EditText属性及使用
- [转]Android dex分包方案
- .Net 转战 Android 4.4 日常笔记(3)--目录结构分析
- .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
- .Net 转战 Android 4.4 日常笔记(5)--新软件Android Studio 0.5.8安装与配置及问题解决
- .Net 转战 Android 4.4 日常笔记(6)--Android Studio DDMS用法
- .Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译
- .Net 转战 Android 4.4 日常笔记(8)--常见事件响应及实现方式
- .Net 转战 Android 4.4 日常笔记目录
- .Net 转战 Android 4.4 日常笔记(9)--常用组件的使用方法[附源码]
- .Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用
- .Net 转战 Android 4.4 日常笔记(1)--工具及环境搭建
- .Net 转战 Android 4.4 日常笔记(2)--HelloWorld入门程序
- Android学习笔记-广播机制的一些简单实例
- Android之——Fragment生命周期(日志截图版)
- Android学习笔记-广播机制
- Android 测试用例
- android graphic(8)—surface申请GraphicBuffer过程