如何限制 libGDX 中窗口调整大小的尺寸?

J W*_*J W 1 java libgdx

我想将桌面游戏的最小尺寸限制为 170x267。我目前正在使用这段代码:

@Override
public void resize(int width, int height) {
    gamePort.update(width, height);
    if (Gdx.app.getType() == ApplicationType.Desktop) {
        if (width < 170)
            Gdx.graphics.setWindowedMode(170, height);
        if (height < 267)
            Gdx.graphics.setWindowedMode(width, 267);
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,这会将窗口的 X 和 Y 位置设置为中心,有时会导致游戏窗口变为空白。

如何设置游戏窗口的最小尺寸?

Ten*_*r04 5

您可以从 LWJGL 后端切换到 LWJGL3 后端,后者本身支持此功能。要进行切换,请更改项目根目录中的 build.gradle 文件。更改这一行:

compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
Run Code Online (Sandbox Code Playgroud)

到

compile "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"
Run Code Online (Sandbox Code Playgroud)

并在 DesktopLauncher 中更改为 Lwjgl3ApplicationConfiguration 和 Lwjgl3Application。然后您可以在游戏配置中设置最小窗口大小:

public class DesktopLauncher {
   public static void main (String[] arg) {
      Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
      config.setWindowSizeLimits(170, 267, 9999, 9999);
      new Lwjgl3Application(new MyGdxGame(), config);
   }
}
Run Code Online (Sandbox Code Playgroud)