LibGDX平铺渲染

LibGDX平铺渲染,libgdx,rendering,tile,Libgdx,Rendering,Tile,我正在编写一个小游戏,它是基于瓷砖的。但当我渲染它时,有时这些瓷砖之间的小空间是可见的,并且(绿色)背景是暴露的(如视频中所示) (绿色线条正在出现) 我想知道,是否有一些双缓冲技术可以解决这个错误,但我已经读到,双缓冲已经实现。请看一下我很久以前做的。我已经把我的解决方案作为答案贴在那里了 这基本上是由于在平铺之间没有任何填充,所以有时,由于舍入,您将正好在两个平铺之间命中,这就是为什么渲染背景。解决方案是使用一个旧的libgdx工具,按照论坛线程中的描述,将填充添加到您的互动程序中。这是我的

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

(绿色线条正在出现)

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

请看一下我很久以前做的。我已经把我的解决方案作为答案贴在那里了


这基本上是由于在平铺之间没有任何填充,所以有时,由于舍入,您将正好在两个平铺之间命中,这就是为什么渲染背景。解决方案是使用一个旧的libgdx工具,按照论坛线程中的描述,将填充添加到您的互动程序中。

这是我的最终解决方案:

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

在从平铺加载和创建块后运行此操作解决了问题。因为很少有块的位置(例如)为9.9999999或9.00000001,所以四舍五入解决了这个问题。

好的,我知道这是由于这些块之间的空间,但找不到解决方案。谢谢。天花板上的数字消除了瓷砖之间的空间,但是当相机“追”玩家时。它的行为很奇怪。好吧,把它四舍五入到最接近的。5或。0解决了它。谢谢你的问候。