cocos2d-x-- spritesheet plist文件格式解析

前端之家收集整理的这篇文章主要介绍了cocos2d-x-- spritesheet plist文件格式解析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.spritesheet的plist文件中字段的含义


plist文件是游戏开发中将一些小图合并成一张大图的时候生成配置文件,从大图中获取小图需要对应plist文件中的信息,如上图中,game.png是小图合成后的大图,game.plist是对应的plist文件

plist文件包括的信息如下图:


plist中各字段的含义如下:

frame:小图在大图中的位置(相对于大图左上角)和尺寸,程序会根据这个来做剪辑。

rotated:如果值为true,图片顺时针旋转90度。

sourceSize:小图原本的大小,也是sprite的大小。

sourceColorRect:小图在sourceSize这个方形的位置和尺寸(以左上角来算),这一部分应该是去掉了原图中透明的部分后的那部分。

offset:在合成大图的过程中texturePackage会把原图透明的部分删除,offset是这张新的图片的中心点相对于原图的中心点(以sourceSize这个方形的中心点)的偏移,这个是以cocos2d的坐标系为准的,y轴向上为正,x轴向右为正。

如上图中图片button-jiabei.png中,offset=(1,-2) ; sourceColorRect={ (4,4),(106,59) }; sourceSize = ( 112,63);

sourceSize的中心点是( 112 / 2,63 / 2 )= ( 56,31.5 )

sourceColorRect的中心点是 ( 4,4 )+ ( 106 / 2,59 / 2 ) = ( 57,33.5 )

所以sourceColorRect的中心点相对于sourceSize的中心点是x方向是向右偏移1,为正,y方向是向下偏移2,为负。所以offset = ( 1,-2 ).


2 cocos2d-x在哪些地方使用了plist格式?

1)图像纹理定义文件,如1中的plist文件
将多个纹理拼在一张大图上,使用CCSpriteFrameCache可以载入这类plist文件

2)Label纹理定义文件

作用与图像纹理定义文件类似,只不过处理的是自己,面向CCLabelAtlas

3)帧动画定义定义一个或多个动画中,使用哪些纹理,使用CCAnimationCache可以载入这类plist文件


3.生成plist文件的工具

对于纹理定义文件来说,它的作用是如何在大图中找到碎图的坐标。因此很多拼合碎图的软件可以在拼合碎图的同时生成plist文件

·TexturePacker是所有平台上最好用的工具了;

·ZwoptexMACOnly的软件;

·SpritePackerWindowsOnly的软件。

猜你在找的Cocos2d-x相关文章