libgdx无边框全屏

时间:2016-02-27 11:07:07

标签: java libgdx screen

我尝试向用户提供他想要如何玩游戏的选项。窗口和全屏模式没问题。我似乎没有开始工作的是无边框全屏/窗口全屏。 我搜索了网络,发现只有一个网站帮助了我:

http://badlogicgames.com/forum/viewtopic.php?f=11&t=13863

我按照我的说法做了,我觉得它有点工作,我的问题是,底部的Windows 10工具栏总是在窗口前面。 这是它的外观图片:

http://imgur.com/hdA3LAb

颜色很糟糕,但仅用于测试目的。代码如下所示:

if (screenManager.FULLSCREEN) {
    Gdx.graphics.setDisplayMode(Gdx.graphics.getDesktopDisplayMode().width, Gdx.graphics.getDesktopDisplayMode().height, true);
} else if (screenManager.WINDOWEDFULLSCREEN) {
    System.setProperty("org.lwjgl.opengl.Window.undecorated", "true");
    Gdx.graphics.setDisplayMode(Gdx.graphics.getDesktopDisplayMode().width,
    Gdx.graphics.getDesktopDisplayMode().height, false);
} else {
    Gdx.graphics.setDisplayMode(screenManager.WIDTH, screenManager.HEIGTH, false);
} 

我该如何解决这个问题?

修改 我更新到1.9.2,它没有setDisplayMode方法。 代码现在看起来像这样:

DisplayMode mode = Gdx.graphics.getDisplayMode();
if (screenManager.FULLSCREEN) {
    Gdx.graphics.setWindowedMode(Gdx.graphics.getDisplayMode().width, Gdx.graphics.getDisplayMode().height);
    Gdx.graphics.setFullscreenMode(mode);
} else if (screenManager.WINDOWEDFULLSCREEN) {
    System.setProperty("org.lwjgl.opengl.Window.undecorated", "true");
    Gdx.graphics.setWindowedMode(Gdx.graphics.getDisplayMode().width, Gdx.graphics.getDisplayMode().height);
    //Gdx.graphics.setFullscreenMode(mode);
} else {
    Gdx.graphics.setWindowedMode(screenManager.WIDTH, screenManager.HEIGTH);
}

一切都像以前一样,只有无边框全屏幕上有窗口工具栏(botton上的东西),就像在图片中一样。普通全屏工作正常。

1 个答案:

答案 0 :(得分:5)

刚刚在我的机器上使用Windows 10测试了以下配置并且它可以工作:

public class DesktopLauncher {
    public static void main (String[] arg) {
        LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
        config.width = LwjglApplicationConfiguration.getDesktopDisplayMode().width;
        config.height = LwjglApplicationConfiguration.getDesktopDisplayMode().height;
        config.fullscreen = true;
        new LwjglApplication(new MyGame(), config);
    }
}

您应该在桌面模块中的DesktopLauncher中设置

<强>更新
你应该试试:

Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode());

另外,你使用的是什么版本的LibGDX?我的版本是1.8.0,我没有Gdx.graphics.setDisplayMode()方法。