为什么我使用Tiled在我的libgdx游戏中有线?

时间:2014-04-17 22:14:09

标签: java libgdx lines visual-glitch tiled

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

Still image of said lines

这里有一行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

2 个答案:

答案 0 :(得分:12)

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

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

您基本上需要使用一些工具将填充添加到您的tileset。在这forum thread中,我解释了如何做到这一点。

在stackoverflow here上还有一个关于此主题的问题。

答案 1 :(得分:1)

如果出现舍入错误,您可以随时强制将数字捕捉到所需的网格。在我看来是这样的情况:

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

因为我在整个游戏过程中使用了每米100像素的常数,以扩展所有内容