首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >texturepacker圆角边框

texturepacker圆角边框
EN

Stack Overflow用户
提问于 2014-08-01 04:38:31
回答 2查看 318关注 0票数 0

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

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

EN

回答 2

Stack Overflow用户

发布于 2014-08-01 14:27:57

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

-更新--

图像看起来很好。

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

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

票数 0
EN

Stack Overflow用户

发布于 2014-08-05 06:27:00

是的,预乘Alpha解决了我的问题

将ccConfig.h修改为

#ifndef CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL

#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1

#endif

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

它被写在注释行中

**

`如果启用,将使用以下公式计算纹理坐标:

代码语言:javascript
复制
**- texCoord.left = (rect.origin.x\*2+1) / (texture.wide\*2);**
代码语言:javascript
复制
**- texCoord.right = texCoord.left + (rect.size.width\*2-2)/(texture.wide\*2);**

对于底部和顶部,相同。

此公式通过使用99%的纹理来防止伪影。

防止工件的“正确”方法是使用spritesheet--fixer.py或类似的工具。

影响的节点:

代码语言:javascript
复制
 **- CCSprite / CCSpriteBatchNode and subclasses: CCLabelBMFont, CCTMXLayer**
代码语言:javascript
复制
 **- CCLabelAtlas**
代码语言:javascript
复制
 **- CCParticleSystemQuad**
代码语言:javascript
复制
 **- CCTileMap**

设置为enabled,设置为1。默认情况下禁用。 **

我不知道现在发生了什么,但我会更深入地检查代码,

谢谢你Andreas Löw

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25068490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档