LibGDX spritebatch相对于屏幕大小调整大小

Fer*_*rdz 3 java libgdx

这是我的问题.我正在尝试使用LibGDX渲染纹理,它的位置和宽度相对于屏幕大小.我是这样做的:

public void render(float delta) {
    Gdx.gl.glClearColor(1, 0, 1, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    batch.begin();
    batch.draw(logo.getKeyFrame(frame), (Gdx.graphics.getWidth() / 2) - (logo.getKeyFrame(frame).getRegionWidth() / 2), Gdx.graphics.getHeight() - logo.getKeyFrame(frame).getRegionHeight());
    batch.end();

    stage.act(delta);
    stage.draw();
}

@Override
public void resize(int width, int height) {
    stage.getViewport().update(width, height, true);
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试调整窗口大小时,图像不会被渲染到应该的位置.有没有什么办法解决这一问题?

谢谢 :)

Fer*_*rdz 9

好的,我找到了解决问题的方法.我在resize方法中调用它

    batch.getProjectionMatrix().setToOrtho2D(0, 0, width, height);
Run Code Online (Sandbox Code Playgroud)