【问题标题】:Line Flickers along Tiles in libGDX在 libGDX 中沿 Tiles 的线条闪烁
【发布时间】:2016-11-07 01:03:31
【问题描述】:

我正在使用基于图块的地图制作一个简单的平台游戏。然而,当相机移动时,我认为会沿着瓷砖边界出现白色闪烁,但很难分辨,因为它们闪烁得很快。

我尝试过的:

  • 向我的 Tileset 添加填充。我在每个图块周围都有 4 像素的填充,所以它不是图像渗色。

  • 将 TextureFilter 设置为最近。它从来没有出现在其他任何东西上,所以线性不是罪魁祸首。

  • 将摄像机位置转换为 int。虽然这并不能解决闪烁问题,但它也会让我的相机抖动,所以这是最糟糕的解决方案。

  • 将 config.useCPUSync 设置为 false 并将 config.vSync 设置为 true。虽然我已将 vSync 设置为 true,但我无法将 CPUSync 设置为 false,因为据我所知,这不再是一个选项。尝试时出现编译时错误。

我只是通过调用 TiledMapRendere.render() 来显示地图,所以我不知道我的 Tileset 或我的 Nearest TextureFilter 中的填充是否实际应用正确,但这是我渲染过程中唯一可能出现的问题我能想到。

还有其他想法吗?

编辑: 所以我尝试手动渲染,我学到了一些东西。

  1. 即使我将每个图块的每个坐标都转换为一个 int 并且相机中的每个坐标,仍然存在闪烁,所以这绝对不是答案。但是,我随后将每个图块上的 TextureFilter 设置为 Linear 并且 DID 解决了闪烁问题,但我不喜欢纹理的外观,因此它不是真正的解决方案。

【问题讨论】:

    标签: java camera libgdx


    【解决方案1】:

    我花了很长时间才弄明白:我所看到的其他地方都给出了我在上面尝试过的解决方案。

    我最终所做的是将外部像素挤压 1,就像我预期会有模糊时一样。我认为这很有效,因为在缩放图块时,应用程序有时必须选择是使用外部像素还是透明像素(我的边距)并选择透明像素。所以现在,每个图块周围的边距只是另一个相同颜色的像素,所以如果它选择那个像素,它对我们来说看起来是一样的。

    【讨论】:

      猜你喜欢
      • 2013-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-17
      • 2020-09-19
      相关资源
      最近更新 更多