【发布时间】:2014-02-17 15:16:55
【问题描述】:
我创建了一个SKSpriteNode,只使用填充颜色和大小,然后旋转它:
SKSpriteNode *myNode = [SKSpriteNode spriteNodeWithColor:[SKColor grayColor] size:CGSizeMake(100, 100)];
myNode.zRotation = 0.2 * M_PI;
如何为SKSpriteNode 启用抗锯齿功能?现在,灰色方块的边缘看起来参差不齐。
我已经发现:当我创建一个灰色的 100x100px PNG 并使用 spriteNodeWithImageNamed: 时,边缘看起来也是锯齿状的。如果我在灰色方形 PNG 周围添加 1px 透明边框,边缘看起来很平滑。 (因为锯齿状边缘现在是透明的。)
提前感谢您的帮助!
【问题讨论】:
-
您可以在 SKTexture developer.apple.com/library/ios/documentation/SpriteKit/… 上设置纹理过滤。不确定你的节点是否会有纹理,因为它是用颜色和大小生成的,但值得一试。
-
谢谢,但如果没有 SKTexture,这将不起作用。 (无论如何,“SKTextureFilteringLinear”应该是默认值。)
-
@Sebastian 找到任何解决方案了吗?
-
@bobmoff:不,很遗憾不是。我认为你对此无能为力。如果您为 spritesheets 使用 TexturePacker,则有一个选项 Inner padding 可以在图像周围添加透明像素。它说:“当旋转修剪或裁剪的精灵时,它大大减少了沿多边形边缘的锯齿。例如,如果您的精灵沿着自己的边界有很多像素,那么旋转它时会更平滑地绘制。”
-
@Sebastian,好的,谢谢您的解释。
标签: ios objective-c sprite-kit