LibGdx TiledMapRenderer 在每次 render() 调用后留下闪烁的图像
LibGdx TiledMapRenderer leaves a flickering image after each render() call
在 LibGdx 中,当我使用下面的代码渲染平铺地图时, tiledMapRenderer.render() 调用在一次调用后在黑色区域留下闪烁的图像(我通过在仅限 create 方法),我无法删除它。当 window 尺寸发生变化时,这个闪烁的图像就会成为一个问题。
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();
}
This is the default window you get after pressing run
This is the window after I dragged the right side out
第二张照片右侧的地图图像是完整且正确的。左边的地图图像是闪烁的后图像(它看起来很满,因为它是一帧)。任何帮助将不胜感激,谢谢。
您需要每帧清屏。这发生在渲染方法中,应该在开始绘图之前使用。
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 ..
在 LibGdx 中,当我使用下面的代码渲染平铺地图时, tiledMapRenderer.render() 调用在一次调用后在黑色区域留下闪烁的图像(我通过在仅限 create 方法),我无法删除它。当 window 尺寸发生变化时,这个闪烁的图像就会成为一个问题。
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();
}
This is the default window you get after pressing run
This is the window after I dragged the right side out
第二张照片右侧的地图图像是完整且正确的。左边的地图图像是闪烁的后图像(它看起来很满,因为它是一帧)。任何帮助将不胜感激,谢谢。
您需要每帧清屏。这发生在渲染方法中,应该在开始绘图之前使用。
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 ..