Cocostudio缺个功能

在制作合图的时候,缺少一个用于修正sprite拼接黑边的功能。该功能在TexturePacker里叫做Extrude。

在拼接sprite的时候,如果两个sprite邻接,那么当它们发生移动的时候,显卡会在邻接处渲染出一条黑边或白边。解决方案是在合图上将每个sprite向外挤出1个像素,这1个像素不包含在plist的定义中。

这个缺陷直接导致需要拼接sprite的项目无法直接使用Cocostudio制作合图。当然另外用个工具做个二次处理也是可以接受的,但毕竟这么简单的功能还是集成一下比较合适吧?

本来很想动手帮忙搞,但很遗憾搜了一下发现Cocostudio是闭源的,所以只能把问题反映到论坛上了。

*更新:这几天挤时间自己写了个拼接程序,默认挤出1像素,间隙1像素。地址:https://github.com/Cloudage/spackup

在属性区, 可以设置间隙这个属性.

我的解决方案完成了,在这里:
https://github.com/Cloudage/spackup

设置间隙是无法解决拼接黑白边的,必须在texture上每sprite挤出一像素。

修改 ccConfig.h
#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 0 改为 #define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1