2016-11-07 137 views
0

我正在制作一个具有基于拼贴图的简单平台。但是,当摄像机移动时,会出现白色闪烁现象,我认为这是闪烁现象,但由于闪烁很快,因此很难分辨出来。在libGDX中沿着平铺线闪烁

我曾尝试:

  • 添加填充我的地形设置。每块瓷砖周围有4px的填充物,所以不是图像渗色。

  • 将TextureFilter设置为最近。它从来不是其他任何东西,所以凌特并不是罪魁祸首。

  • 将相机位置投射到一个int。虽然这不能解决闪烁问题,但它也会让我的相机不稳定,所以这是最糟糕的解决方案。

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

我只是通过调用TiledMapRendere.render()上显示地图,所以如果真的被正确应用从我的地形设置或我最近TextureFilter填充我不知道,但是这是唯一可能的问题在我的渲染过程中我能想到。

还有其他想法吗?

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

  1. 即使我将每个拼贴的每个坐标都投射到整数和照相机中的每个坐标上,仍然存在闪烁,因此显然不是答案。然而,我将Texture的每个tile设置为Linear,并且DID解决了闪烁问题,但我不喜欢纹理的外观,所以它不是真正的解决方案。

回答

0

这让我永远不知道:我看到的其他地方给了我上面试过的解决方案。

我最终所做的就是挤出外部像素1,就像我期望的那样,如果我觉得模糊不清,就会出现这种情况。我认为这是有效的,因为当瓷砖缩放时,应用程序有时必须选择是使用外部像素还是透明像素(我的边距)并选择了透明像素。所以现在,每个图块周围的边距只是另一个相同颜色的像素,所以如果选择该像素,它看起来与我们相同。