SpriteKit sktilemapnode垂直线故障

时间:2017-05-10 00:56:57

标签: ios swift xcode sprite-kit sktilemapnode

我正在制作一个2d平台游戏,我决定使用多个tilemapnodes作为我的背景。即使有1个平铺地图,当我在屏幕上移动播放器时,我会看到这些垂直或水平线出现和消失。见下图:

enter image description here

我的图块是256x256,我将它们存储在tileset sks文件中。不确定为什么我得到这个或如何摆脱这个,这是非常烦人的。想知道其他人是否也会遇到这种情况。

考虑不使用瓷砖地图,但如果可以,我宁愿使用它们。

感谢您对此提供任何帮助!!!

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并且能够通过将平铺图像“挤压”几个像素来解决该问题。当出现浮点问题而不显示任何内容时(因此会出现间隙),这为像素提供了一点缓冲。该视频总结得很好。

Unity: extruding tile map images

如果您使用TexturePacker生成精灵图集,则可以选择自动添加此图片,而不必自己将其添加到图块图像中。

希望有帮助!

答案 1 :(得分:0)

有点像@cheaze 建议的“挤压”,我只是让绘图代码中的瓷砖尺寸比所需的瓷砖尺寸大一点。这意味着无需更改资产本身。

例如。如果您的资产大小为 256 x 256 并且您的所有计算都基于此;将纹理绘制为 256.02 x 256.02 像素大小:

[SKSpriteNode spriteNodeWithTexture:texture size:CGSizeMake(256.02, 256.02)];

每边仅添加 0.02 像素就会自动重叠您的图块并消除线条毛刺,具体取决于您的相机速度和帧速率。

如果问题真的很严重,您甚至可以添加半个像素 (+0.5) 或整个像素来消除毛刺,但用户将无法看到差异。 (因为视网膜屏幕上的一个像素差异很难区分)。