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 是所有平台上最好用的工具了;

· Zwoptex 是MAC Only的软件;

· SpritePacker 是Windows Only的软件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值