1
我正在創建一個遊戲,我不希望我的屏幕在我調整窗口大小時被拉伸(當然只有當它適合窗口時)。我使用Stage
對象與FitViewport
,但是當我調整窗口大小時,它上面的元素也正在調整大小。我究竟做錯了什麼?libGDX - FitViewport正在拉伸舞臺
這是我的屏幕類:
public class SplashScreen implements Screen{
private final PuzzleGame app;
private Stage stage;
private Image splashImage;
public SplashScreen(final PuzzleGame app) {
this.app = app;
this.stage = new Stage(new FitViewport(PuzzleGame.V_WIDTH, PuzzleGame.V_HEIGHT, app.camera));
Gdx.input.setInputProcessor(stage);
Texture splashTex = new Texture(Gdx.files.internal("img/splash.png"));
splashImage = new Image(splashTex);
splashImage.setPosition(stage.getWidth()/2, stage.getHeight()/2);
stage.addActor(splashImage);
}
@Override
public void show() {
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(.25f, .25f, .25f, 1f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
update(delta);
stage.draw();
}
private void update(float delta) {
stage.act(delta);
}
@Override
public void resize(int width, int height) {
stage.getViewport().update(width, height, false);
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void hide() {
}
@Override
public void dispose() {
stage.dispose();
}
}
不調整調整大小階段的唯一Viewport類是ScreenViewport。其餘的應該縮放它,以便您的虛擬分辨率始終匹配窗口大小。 – Tenfour04