You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LibGDX中无法设置config.height和config.width参数问题求助

问题原因

你参考的2020年旧教程里直接修改Lwjgl3ApplicationConfiguration公开width/height字段的写法已经失效。新版LibGDX的Lwjgl3桌面后端把这两个配置字段改成了私有属性,不允许直接赋值,必须调用配置类提供的公开方法设置窗口参数。

修正方案

把原来直接给config.width、config.height赋值的两行删掉,换成setWindowedMode方法设置初始窗口宽高即可。
修正后的完整DesktopLauncher代码:

package com.mygdx.game;

import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
import com.mygdx.game.chess;

public class DesktopLauncher {
    public static void main (String[] arg) {
        Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
        config.setForegroundFPS(60);
        config.setTitle("Chess");
        // 设置初始窗口为800x800的窗口化模式
        config.setWindowedMode(800, 800);
        // 可选:需要禁止用户手动拖拽调整窗口大小就加这行
        // config.setResizable(false);
        new Lwjgl3Application(new chess(), config);
    }
}

注:你原代码里导入的com.badlogic.gdx.Gdx在启动类中没有被实际使用,可以直接删除,属于冗余代码不影响运行。

额外常用配置参考
  • 要限制窗口可调整的尺寸范围,调用config.setWindowSizeLimits(最小宽, 最小高, 最大宽, 最大高)即可,比如要锁死窗口始终为800x800,除了设置不可拉伸之外,也可以传config.setWindowSizeLimits(800,800,800,800)
  • 游戏运行过程中要动态切换窗口尺寸,不要修改启动配置,直接在游戏逻辑里调用Gdx.graphics.setWindowedMode(新宽度, 新高度)即可,切换全屏则调用Gdx.graphics.setFullscreenMode()。
  • 2021年之后Lwjgl3后端做过一次重构,所有配置项都改成了对应setter方法调用的形式,不要再直接给配置类的公共字段赋值,这类旧写法基本都已经失效。

内容的提问来源于stack exchange,提问作者hmood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 05:09:15