如何使LibGDX桌面版默认全屏

10

我想知道如何在启动时使我的桌面应用程序全屏。我对LibGDX不熟悉,非常感谢任何帮助。谢谢。

3个回答

18

只需在您的 LwjglApplicationConfiguration 中定义 fullscreen 字段:

LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();

cfg.title = "yourGame";
cfg.width = 1024;
cfg.height = 768;
cfg.fullscreen = true;

new LwjglApplication(new ...(), cfg);

在Windows 10中它无法工作,它显示一个小窗口。 - Lim Thye Chean
@LimThyeChean,1.6.0版本也适用于Windows 10。 - desertkun
6
我正在使用1.6.4版本,但这在我的Windows 10电脑上不起作用。以下代码可以使用:config.width = LwjglApplicationConfiguration.getDesktopDisplayMode().width; config.height = LwjglApplicationConfiguration.getDesktopDisplayMode().height;请注意不要改变原意。 - Lim Thye Chean
谢谢Lim Thye Chean,它在我的Windows 8.1上也可以运行。 - salih kallai
这个方法虽然可行,但是没有知道本机屏幕分辨率的情况下就没什么用。如果有人使用全高清屏幕,为什么要将屏幕分辨率固定为1024 x 678呢?那么在这种情况下,我该如何获取本机屏幕分辨率呢? - MilanG
显示剩余2条评论

7

如果您想以全屏模式启动游戏,请在桌面启动器的LwjglApplicationConfiguration中设置以下标志(即main()函数):

public static void main(String[] args) {
    LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
    cfg.width = 1280;
    cfg.height = 720;

    // fullscreen
    cfg.fullscreen = true;
    // vSync
    cfg.vSyncEnabled = true;

    new LwjglApplication(new YourApplicationListener(), cfg);
}

如果您想在游戏中启用任何分辨率或桌面默认的全屏选项,请使用以下方法:

// set resolution to HD ready (1280 x 720) and set full-screen to true
Gdx.graphics.setDisplayMode(1280, 720, true);

// set resolution to default and set full-screen to true
Gdx.graphics.setDisplayMode(
              Gdx.graphics.getDesktopDisplayMode().width,
              Gdx.graphics.getDesktopDisplayMode().height, 
              true
);

很遗憾,setDisplayMode 方法已不再可用。 - Winter
那么现在有什么替代方案吗?我想不出来。 - GregorMohorko

2

在 Kotlin 中,当用户按下 F 键时将游戏设置为全屏,按下 G 键时将其设置为窗口模式:

    override fun render() {
        ...
        if (Gdx.input.isKeyPressed(Input.Keys.F))
            Gdx.graphics.setFullscreenMode(Gdx.graphics.displayMode)
        if (Gdx.input.isKeyPressed(Input.Keys.G))
            Gdx.graphics.setWindowedMode(1280, 720)
        ...
    }

我稍后会更改我的答案为Java,并添加一种切换它的方法。

这在某种程度上使得“isCursorCatched = true”对我失效了……哎,libGDX - xjcl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接