9

我正在使用 LibGdx 和 Tiled,当在屏幕上移动时,游戏中会同时出现水平线和垂直线。如有必要,我可以发布您需要的任何代码。如何让这些线路停止?

所述线条的静止图像

这是线条的 gfycat gif:

http://gfycat.com/FastUnnaturalAmericanwirehair

编辑:

这是一个小的 bitbucket 存储库,尽可能小,但其中有相同的故障:

https://bitbucket.org/Chemical_Studios/example-of-line-glitch/src/8eeb153ec02236d836763072611bd7aa55d38495/minimalExample/src/com/weebly/chemicalstudios/minEx/?at=master

4

2 回答 2

13

这是因为您需要为瓷砖添加填充。

这是一个非常常见的问题,您不是第一个遇到它的人。基本上由于缩放和平移时的舍入误差,有时您会渲染两个图块“之间”的区域,这将导致没有渲染 -> 黑色背景颜色通过。

您基本上需要使用一些工具将填充添加到您的图块集中。在这个论坛主题中,我解释了如何做到这一点。

在 stackoverflow 上还有一个关于这个主题的问题

于 2014-04-18T06:41:20.850 回答
1

当您有舍入错误时,您始终可以强制数字捕捉到您想要的网格。在我的情况下,看起来像这样:

gameCam.position.x = (float) Math.round(player.b2body.getPosition().x * 100f) / 100f;

因为我在整个游戏中使用了 100f 的像素/米常数来缩放所有内容

于 2017-05-17T16:56:15.713 回答