cocos2d-x plist文件各个属性的含义

plist文件是小图在合并成大图的时候生成的配置文件,所以须要由大图+plist文件能够全然还原出小图。

合图后的大图整体尺寸面积一般要小于原来的小图面积之和,是由于合图中会去掉小图周围的透明像素(当然,有些需求是不能去掉这些透明部分的,比方某些特殊的三宫格和九宫格需求,举个样例,一些背景框要求中间为空)。

要还原出原图,必需要记录足够的信息。

frame:这个最简单,记录的原图片在合图后的大图片中的矩形区域,有这个值,就能够找出原图的有效非透明区域。

sourceSize:也非常easy,记录的就是原小图的大小。

offset:比較复杂,假设把frame的图片放入sourceSize的图片中,未必能恢复原图,由于还须要一个位置,而这个位置能够由offset得到。假设offset为0,就默认这个位置为sorceSize的中心,即sourceSize.w/2,sourceSize.h/2。offset为0 的情况通常是没有截取原图周边透明像素。原图的中心origin.center=now.center-offset=frame.origin+frame.size/2-offset。在合图中,先以frame设置周边图片为透明,再以origin.center为中心,取大小为sourceSize的图片,即为原图。

sourceColorRect:这个事实上不是必须的,sourceColorRect.size==frame.size;而sourceColorRect==sourceSize/2-frame.size/2+offset;

posted @ 2014-11-09 12:09  zfyouxi  阅读(454)  评论(0编辑  收藏  举报