如何更改libgdx不同的窗口大小?

use*_*888 14 java libgdx

如何在libgdx-android-desktop中更改大小?我对窗口大小感到困惑,不知道如何解决这个问题.

所以对于桌面窗口,我想要500x500,但我想要全屏,所以我不能硬编码.
出于某种原因,ANDROID_WIDTH始终等于WINDOW_WIDTH.

 int WINDOW_WIDTH = 500;
 int WINDOW_WIDTH = 500;

public void create() {
    if (Gdx.app.getType() == ApplicationType.Android) {
        int ANDROID_WIDTH = Gdx.graphics.getWidth();
        int ANDROID_HEIGHT = Gdx.graphics.getHeight();
        camera = new OrthographicCamera(ANDROID_WIDTH, ANDROID_HEIGHT);
        camera.translate(ANDROID_WIDTH/2, ANDROID_HEIGHT/2);
        camera.update();
    } else {
        camera = new OrthographicCamera(WINDOW_WIDTH, WINDOW_HEIGHT);
        camera.translate(WINDOW_WIDTH / 2, WINDOW_HEIGHT / 2);
        camera.update();
    }

    Gdx.input.setInputProcessor(new GameInputProcessor());
}
Run Code Online (Sandbox Code Playgroud)

Ara*_*ash 28

您无法通过更改相机来更改窗口的大小.它们是两个独立的概念.

您可以通过config lwjpg在主方法中设置桌面应用程序的大小.Android应用程序无论如何都是全屏的.

LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
cfg.title = "Title";
cfg.useGL20 = true;
cfg.height = 640;
cfg.width = 360;
new LwjglApplication(new MyGame(), cfg);
Run Code Online (Sandbox Code Playgroud)


Spr*_*bua 10

您可以在启动时给出窗口大小:

new LwjglApplication(yourApplicationListener(), "Title", 500, 500, true/false (useGL2));
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下方法在游戏中更改它:

Gdx.graphics.setDisplayMode(500, 500, true/false (fullscreen));
Run Code Online (Sandbox Code Playgroud)

您可以通过像"特技手表"这样的if语句来说明:

if (Gdx.app.getType().equals(ApplicationType.Android)) {
    Gdx.graphics.setDisplayMode(500, 500, false);
} else {
    Gdx.graphics.setDisplayMode(Gdx.graphics.getWidth(),Gdx.graphics.getHeight(), true);
}
Run Code Online (Sandbox Code Playgroud)

编辑: 在LibGDX 1.8中,方法Gdx.graphics.setDisplayMode已重命名为Gdx.graphics.setWindowedMode:

API更改:Graphics#setDisplayMode(int, int, boolean)已重命名为 Graphics#setWindowedMode(int, int).这将不允许您再切换到全屏,Graphics#setFullscreenMode()而是使用.如果窗口处于全屏模式,它将在监视器上切换到窗口模式,窗口处于全屏模式.

(来源)