LibGDX,BitmapFont奇怪的位置行为

我正在使用LibGDX的阶段来绘制一个文本,在我的情况下,FPS。 但是在resize后,文本的位置不正确。

正如你可以在附件中看到的:

在这里输入图像说明

resizefunction确实正常工作。 另外这里是我的UI渲染器的代码:

GameScreen screen; BitmapFont font; FreeTypeFontGenerator generator; FreeTypeFontGenerator.FreeTypeFontParameter parameter; private Texture map; public UIStage(GameScreen screen) { this.screen = screen; generator = new FreeTypeFontGenerator(Gdx.files.internal("font/acknowtt.ttf")); parameter = new FreeTypeFontGenerator.FreeTypeFontParameter(); parameter.size = 24; parameter.borderWidth = 2; parameter.borderColor = new Color(0, 0, 0, 1F); parameter.borderStraight = true; font = generator.generateFont(parameter); this.map = new Texture(Gdx.files.internal("levels/map/" + screen.map.getLevel().getName() + ".png")); generator.dispose(); } @Override public void draw() { this.getBatch().setColor(1F, 1F, 1F, 1F); this.getBatch().begin(); this.font.draw( this.getBatch(), "FPS: " + GameScreen.fpsLogger.getFPS(), 10, this.getViewport().getScreenHeight() - 44); this.getBatch().end(); } 

我怎样才能使我的文本正常行为?

确保在调整窗口大小时调整视口的大小。

你应该可以覆盖ApplicationAdapter中的“resize”function。

 public class GameClass extends ApplicationAdapter { @Override public void resize(int width, int height) { YourUIStage.getViewport.setScreenSize(width, height); } }