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

时间:2015-02-06 15:56:00

标签: 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);
}

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

谢谢:)

1 个答案:

答案 0 :(得分:9)

好的,我找到了解决问题的方法。我在调整大小方法中调用它

    batch.getProjectionMatrix().setToOrtho2D(0, 0, width, height);