您的位置:首页 > 移动开发 > Android开发

SpriteSheet(精灵列表)在Android中的应用

2016-02-22 13:19 295 查看

概念

在自定义的界面中通常会有自定义view,尤其在一些2D小游戏当中,就会使用一连串的任务动作图片,这一串原始图片通常是美工修出来的一个个图片,组合在一起就是一个任务的一些列动作,当然也可以合成动态图:



在使用的时候当然也可以通过读取资源文件,一个一个的显示在界面上,但是通常图片资源文件会很多,就会显得工程很乱。cocos2d中有一个更加高效的方式,就是精灵表单SpriteSheet。SpriteSheet是将分散的一些列图片组合成异常图片,在使用的时候,通过图片上的位置和大小,将图片截取出来,显示在图片上。

这里使用到的工具是TexturePacker,该工具将图片组合到一起,同时保存原图在生成图片上的所有位置和大小的信息。生成的图片如下:



在图片上可以看到,生成的图片位置的顺序是错乱的,而且图片的长宽并不一样,图片中的每一个图片也没有对齐。这样做的好处就是有些表单生成后,会减少表单图片大小,节省空间,而且图片是可以旋转后生成到表单图片中。

在使用这样的表单图片的时候,由于位置和大小都是不同的,所以不能同通过简单的剪裁就能获取到完成的图片,需要更具图片的位置信息才能使用,TexturePacker工具会同时生成一个文档,包含图片的位置、大小、是否旋转。生成的格式可以通过设置,选择生成为xml、json或者其他的文件格式。文件如下:





得到这个文件之后,就可以同时将表单图片和plist文件放到安卓工程当中。使用的时候只需要解析plist文件得到对应图片的位置、大小等信息,解析的时候按照你选择生成的数据格式,如json,xml等。而且解析一次后,对于在次生成的图片,数据格式相同,就可以使用一样的解析方式。

github上面的一个解析的工程

https://github.com/saylorzhu/SpriteSheet
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: