3

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

在此处输入图像描述

我的瓷砖是 256x256,我将它们存储在一个瓷砖集 sks 文件中。不完全确定我为什么会得到这个或如何摆脱这个,这很烦人。想知道其他人是否也遇到过这种情况。

考虑不使用瓦片地图,但如果可以的话,我更愿意使用它们。

感谢您对此的任何帮助!!!

4

2 回答 2

1

我遇到了同样的问题,并且能够通过将平铺图像“挤出”几个像素来解决它。当浮点问题发生而不是什么都不显示(因此有间隙)时,这提供了一点像素缓冲。这个视频总结的很好。

Unity:挤出平铺地图图像

如果您使用TexturePacker来生成精灵图集,则可以选择自动添加它,而无需自己将其添加到平铺图像中。

希望有帮助!

于 2019-04-08T01:13:27.680 回答
0

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

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

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

根据您的相机速度和帧速率,每边仅添加 0.02 像素会自动重叠您的图块并消除线条故障。

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

于 2021-07-28T13:30:36.943 回答