Libgdx 更改窗口大小后如何保持纵横比?

Libgdx 更改窗口大小后如何保持纵横比?,libgdx,resize,window,size,resolution,Libgdx,Resize,Window,Size,Resolution,所以我对正交相机和类似的东西的工作原理知之甚少,它正在吸引我,因为如果你改变窗口的大小,我的游戏就要崩溃了。正常的800x600窗口在打开时如下所示: 和破碎的 我希望始终保持相同的纵横比,只要在大小改变时拉伸屏幕上的内容即可。这是因为提高分辨率和屏幕大小可以让玩家看到更多的地图,这使得我的游戏太简单了。那么,我该如何使屏幕变为任意大小总是简单地拉伸图像呢?或者甚至根本不拉伸,只是添加黑色边框来填充额外的空间?(注意:这是一款桌面游戏,不是android…现在)这里是我的渲染方法的前几行。我

所以我对正交相机和类似的东西的工作原理知之甚少,它正在吸引我,因为如果你改变窗口的大小,我的游戏就要崩溃了。正常的800x600窗口在打开时如下所示:

和破碎的

我希望始终保持相同的纵横比,只要在大小改变时拉伸屏幕上的内容即可。这是因为提高分辨率和屏幕大小可以让玩家看到更多的地图,这使得我的游戏太简单了。那么,我该如何使屏幕变为任意大小总是简单地拉伸图像呢?或者甚至根本不拉伸,只是添加黑色边框来填充额外的空间?(注意:这是一款桌面游戏,不是android…现在)这里是我的渲染方法的前几行。我还没有在我的调整大小方法中放入任何内容

        public void render(float delta) {


            Gdx.gl.glClearColor(0, 0, 0, 1);
            Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
            Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
            renderer.setView(camera);
            renderer.render();
            batch.setProjectionMatrix(camera.combined);     

            camera.update();

            batch.begin();
可用于使屏幕保持所需的纵横比。
但如果你想让你的游戏被拉伸而不是黑色边框,那么正交相机就足够了。很难说你在哪里用这一小块代码弄乱了结构。

你能解释一下正交摄影机是如何做到的吗?因为如果你在游戏运行时增加屏幕的大小,那么我会得到想要的效果,但是如果我在加载关卡之前这样做,那么纵横比就会受到影响。您还需要我的代码的其他部分吗?这就是渲染中处理相机、渲染器等的所有内容,就像我说的,我的调整大小现在是空的。