我在插画家上创建了一个圆角矩形并导出到png,然后将此图像添加到texturepacker并导入到cocos2d这里是我的矩形, 你知道为什么拐角处有白色像素吗?
这是图片https://dl.dropboxusercontent.com/u/9018754/Screen%20Shot%202014-07-31%20at%2023.28.52.png
答案 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