【问题标题】:How to keep aspect ratio after changing window size?更改窗口大小后如何保持纵横比?
【发布时间】:2015-11-21 01:39:19
【问题描述】:

所以我对正射摄像机和此类工作的工作原理知之甚少,而且它正在赶上我,因为如果你改变窗口的大小,我的游戏就会崩溃。当您打开它时,正常的 800x600 窗口如下所示:

Normal Resolution

又坏了……

Increased res (changing the screen size before it starts)

我希望始终保持相同的纵横比,并在尺寸发生变化时拉伸屏幕上的内容。这是因为增加分辨率和屏幕尺寸可以让玩家看到更多的地图,这让我的游戏变得太容易了。那么如何才能将屏幕更改为任何尺寸,只是总是简单地拉伸图像?甚至根本不拉伸,只是添加黑色边框来填充额外的空间? (注意:这是一个桌面游戏,不是 android ......现在)这是我的渲染方法的前几行。我的 resize 方法中还没有任何内容。

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

【问题讨论】:

    标签: libgdx resize window size resolution


    【解决方案1】:

    FitViewport 可用于使屏幕保持所需的纵横比。 但是如果你想让你的游戏得到拉伸而不是黑色边框,那么 OrthographicCamera 就足够了。很难用这小段代码判断你在哪里弄乱了结构。

    【讨论】:

    • 您能解释一下正交相机是如何做到这一点的吗?因为如果你在游戏运行时增加屏幕的大小,那么我会得到想要的效果,但如果我在关卡加载之前这样做,那么纵横比就会被弄乱。你还需要我的代码的其他部分吗?这就是渲染中处理相机、渲染器等的所有内容,就像我说我的调整大小现在是空的。
    猜你喜欢
    • 2013-09-01
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多