【问题标题】:LibGDX Tile renderingLibGDX 平铺渲染
【发布时间】:2014-05-17 22:19:13
【问题描述】:

我正在编写一个基于图块的小游戏。但是当我渲染它时,有时这些图块之间的小空间是可见的,并且(绿色)背景暴露出来(如视频中所示)。

Youtube video(出现绿线)

我想知道,是否有一些双缓冲技术可以解决这个错误,但我读过,双缓冲已经实现了。

【问题讨论】:

    标签: libgdx rendering tile


    【解决方案1】:

    请看我很久以前做的this forum thread。我已经在那里发布了我的解决方案作为答案。

    这基本上是由于您的图块之间没有任何填充,所以有时,由于舍入,您会恰好在两个图块之间命中,这就是渲染背景的原因。解决方案是使用旧的 libgdx 工具之一,按照论坛主题中的说明为您的磁贴添加填充。

    【讨论】:

    • 好的,我知道这是由于这些瓷砖之间的空间,但找不到解决方案。谢谢。
    • 上限数字消除了瓷砖之间的空间,但当相机“追逐”玩家时。它的行为很奇怪。
    • 好的,将其四舍五入到最接近的 0.5 或 .0 即可解决。感谢您的回答。
    【解决方案2】:

    这是我的最终解决方案:

    for(Body b : bodies) {
        b.setTransform(Math.round(b.getPosition().x*C)/C, Math.round(b.getPosition().y*C)/C, 0);
    }
    

    在从 Tiled 加载和创建块后运行它解决了这个问题。由于很少有块的位置(例如)9.99999999 或 9.00000001,因此将它们四舍五入即可解决。

    【讨论】:

      猜你喜欢
      • 2020-08-24
      • 2016-06-04
      • 2014-10-23
      • 2017-12-31
      • 1970-01-01
      • 2014-05-04
      • 2015-09-03
      • 2013-06-11
      • 2020-08-28
      相关资源
      最近更新 更多