texturepacker圆形边框

时间:2014-07-31 20:38:31

标签: cocos2d-iphone texturepacker

我在插画家上创建了一个圆角矩形并导出到png,然后将此图像添加到texturepacker并导入到cocos2d这里是我的矩形, 你知道为什么拐角处有白色像素吗?

这是图片https://dl.dropboxusercontent.com/u/9018754/Screen%20Shot%202014-07-31%20at%2023.28.52.png

2 个答案:

答案 0 :(得分:0)

可能是图像被写为png8,并在Illustrator中与白色背景混合。 你还可以发布你从Illustrator创建的png吗?

- 更新 -

图像看起来很好。我想我们可以排除导出图像的问题。

在您的设置中,“Premultiply Alpha”已关闭。将图像导入cocos2d时,您是否启用了预乘alpha? 两个值必须匹配。否则你会得到一些奇怪的行为。

如果它在TexturePacker中打开并在cocos2d中关闭,则会显示黑色轮廓。 如果它在TexturePacker中关闭,在cocos2d中关闭,则会得到白色轮廓。

所以:尝试在TexturePacker中启用它。

答案 1 :(得分:0)

是预乘Alpha解决了我的问题

将ccConfig.h更改为

#ifndef CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL
#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1
#endif

并设置预乘alpha + exclude 1解决了我的问题,

它写在评论专栏

**

`如果启用,将使用以下公式计算纹理坐标:
    - texCoord.left =(rect.origin.x * 2 + 1)/(texture.wide * 2);
    - texCoord.right = texCoord.left +(rect.size.width * 2-2)/(texture.wide * 2);
 底部和顶部相同。
 此公式通过使用99%的纹理来防止伪影  防止工件的“正确”方法是使用spritesheet-artifact-fixer.py或类似工具。
 受影响的节点:
     - CCSprite / CCSpriteBatchNode和子类:CCLabelBMFont,CCTMXLayer
     - CCLabelAtlas
     - CCParticleSystemQuad
     - CCTileMap
 要启用,请将其设置为1.默认情况下禁用。
**

我无法弄清楚目前发生了什么,但我会更深入地检查代码,

谢谢AndreasLöw