有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

如何设置游戏窗口的最小大小


共 (2) 个答案

  1. # 1 楼答案

    您可以从LWJGL后端切换到本机支持此功能的LWJGL3后端。要切换,请更改您的构建。项目根目录中的gradle文件。更改此行:

    compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
    

    compile "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"
    

    并在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);
       }
    }
    
  2. # 2 楼答案

    通过设置widthheight可以轻松设置桌面的屏幕大小。您必须打开桌面文件夹并按Main。java文件并设置

    cfg.width=170;
    cfg.height=267;
    

    这样,您可以轻松设置桌面的屏幕宽度和高度。 下面是一个示例代码。请检查一下

    public class Main {
        public static void main(String[] args) {
            LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
            cfg.title = "myGame";
            cfg.useGL30 = false;
            cfg.width =1280;
            cfg.height = 800;
    
            new LwjglApplication(new copterAdventure(), cfg);
        }
    }