我正在尝试使用libgdx为我的家人制作一个短暂的圣诞节游戏,当你在屏幕边缘向前跳过时,屏幕边缘会闪烁但是当向后移动时没有闪烁而且非常烦人。
Here是我的意思的演示。
此外,这是我的代码:
U
非常感谢任何帮助,谢谢。
答案 0 :(得分:1)
我刚刚通过调用camera.update解决了这个问题,而不是:
tmr.setView(camera);
tmr.render();
camera.update();
b2dCam.update();
b2dr.render(world, b2dCam.combined);
cntrlOverlay.act();
cntrlOverlay.draw();
world.step(1 / 60f, 6, 2);
我现在用:
camera.update();
tmr.setView(camera);
tmr.render();
b2dCam.update();
b2dr.render(world, b2dCam.combined);
cntrlOverlay.act();
cntrlOverlay.draw();
world.step(1 / 60f, 6, 2);
答案 1 :(得分:0)
有两件事情浮现在脑海中。
当OpenGL从图像中提取纹理时,它会将您正在使用的纹理区域周围的像素与纹理区域的边缘混合。烦人啊?但是有理由这样做。我无法确定,但是你的视频看起来像是水平排水沟(底部闪烁,房子和地面之间闪烁)。
要解决此问题,图像资源上的每个图块都需要在其周围至少有2个像素的填充。要创建填充,请在图像中的每个图块周围创建一个2px宽的边框,然后将图块的边缘像素复制到此2px宽边框中。
如果您在尝试建议1后仍然遇到问题,则在禁用vsync时,我遇到了libgdx滚动的一些闪烁问题。您可以确保在" Launcher"中启用它。课程:
await