【问题标题】:Why do I have lines going across my libgdx game using Tiled?为什么我在使用 Tiled 的 libgdx 游戏中出现线条?
【发布时间】:2023-03-16 12:36:01
【问题描述】:

我正在使用 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

【问题讨论】:

标签: java libgdx lines visual-glitch tiled


【解决方案1】:

这是因为您需要为图块添加填充。

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

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

stackoverflowhere上还有一个关于这个主题的问题。

【讨论】:

【解决方案2】:

当您有舍入错误时,您始终可以强制数字对齐您想要的网格。就我而言,看起来像这样:

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

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

【讨论】:

  • 这里也一样。 100 给我带来了麻烦,但 10 工作得很好:position.x = Math.round(position.x * 10) / 10f;position.y = Math.round(position.y * 10) / 10f;
猜你喜欢
  • 1970-01-01
  • 2017-12-15
  • 1970-01-01
  • 2013-06-25
  • 1970-01-01
  • 2020-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多