libGDX-FitViewport正在拉伸舞台

libGDX-FitViewport正在拉伸舞台,libgdx,resize,viewport,stage,Libgdx,Resize,Viewport,Stage,我正在创建一个游戏,当我调整窗口大小时,我不希望屏幕被拉伸(当然,只有当它可以放入窗口时)。我正在使用带有FitViewport的Stage对象,但当我调整窗口大小时,其上的元素也在调整大小。我做错了什么 这是我的屏幕课程: public class SplashScreen implements Screen{ private final PuzzleGame app; private Stage stage; private Image splashImage;

我正在创建一个游戏,当我调整窗口大小时,我不希望屏幕被拉伸(当然,只有当它可以放入窗口时)。我正在使用带有
FitViewport
Stage
对象,但当我调整窗口大小时,其上的元素也在调整大小。我做错了什么

这是我的屏幕课程:

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();
    }
}

正如Tenfour04已经指出的,您正在寻找
ScreenViewport

您可能想签出,然后重新阅读

基本上,有两种不同类型的视口:摄影机视口和OpenGL视口

FitViewport
保持摄影机视口不变,但向上或向下缩放OpenGL视口。结果将是,所有大小都将看起来更大或更小,这取决于OpenGL视口相对于摄影机视口的大小


另一方面,
ScreenViewport
将摄影机视口和OpenGL视口保持在相同的大小,这将导致元素始终具有相同的大小。

正如Tenfour04已经指出的,您正在寻找
ScreenViewport

您可能想签出,然后重新阅读

基本上,有两种不同类型的视口:摄影机视口和OpenGL视口

FitViewport
保持摄影机视口不变,但向上或向下缩放OpenGL视口。结果将是,所有大小都将看起来更大或更小,这取决于OpenGL视口相对于摄影机视口的大小


ScreenViewport
另一方面,将摄影机视口和OpenGL视口保持在相同的大小,这将导致元素始终具有相同的大小。

调整大小时不缩放舞台的唯一视口类是ScreenViewport。其余的都应该进行缩放,以便您的虚拟分辨率始终与窗口大小匹配。只有ScreenViewport类在调整大小时不缩放舞台。其余的都应该进行缩放,以便您的虚拟分辨率始终与窗口大小匹配。