LibGdx TiledMapRenderer在每次render()调用后都会留下一个闪烁的图像

LibGdx TiledMapRenderer在每次render()调用后都会留下一个闪烁的图像,libgdx,Libgdx,在LibGdx中,当我使用下面的代码渲染平铺贴图时,tiledMapRenderer.render()调用仅在一次调用后在黑色区域中留下一个闪烁的图像(我仅通过在create方法中进行渲染进行了测试),但我无法将其删除。当窗口大小更改时,此闪烁图像会成为问题 TiledMap tiledMap; OrthogonalTiledMapRenderer tMR; ExtendViewport viewPort; @Override public void create () { Ortho

在LibGdx中,当我使用下面的代码渲染平铺贴图时,tiledMapRenderer.render()调用仅在一次调用后在黑色区域中留下一个闪烁的图像(我仅通过在create方法中进行渲染进行了测试),但我无法将其删除。当窗口大小更改时,此闪烁图像会成为问题

TiledMap tiledMap;
OrthogonalTiledMapRenderer tMR;
ExtendViewport viewPort;

@Override
public void create () {
    OrthographicCamera camera = new OrthographicCamera();
    camera.setToOrtho(false, 512, 512);
    viewPort = new ExtendViewport(512, 512, 512, 512, camera );
    viewPort.update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

    tiledMap = new TmxMapLoader().load("LibGdxTutorial.tmx");
    tMR = new OrthogonalTiledMapRenderer(tiledMap);
}

@Override
public void render () {
    viewPort.update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    tMR.setView((OrthographicCamera) viewPort.getCamera());
    tMR.render();
}


第二张照片右侧的地图图像是完整且正确的。左侧的地图图像是闪烁后的图像(它显示为满,因为它是一帧)。任何帮助都将不胜感激,谢谢

您需要在每帧中清除屏幕。这在渲染方法中发生,应在开始绘制之前使用

    Gdx.gl.glClearColor(0f,0f,0f,1);  // set the clear color
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);  // clear the screen with the given color.

    .. draw next frame ..

我认为在开始绘制下一帧之前,您需要清除每一帧的屏幕。谢谢!我在网上找到了clear方法。对于具有相同问题的视图,请将此粘贴到渲染方法的顶部<代码>Gdx.gl.glClear(GL20.gl_颜色_缓冲_位| GL20.gl_深度_缓冲_位)