【问题标题】:libgdx borderless fullscreenlibgdx 无边框全屏
【发布时间】:2017-08-01 20:49:57
【问题描述】:

我尝试让用户选择他想如何玩游戏。窗口和全屏模式没问题。我似乎没有开始工作的是无边框全屏/窗口全屏。 我在网上搜索,只找到一个对我有帮助的网站:

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

一切都和以前一样,只是无边框的全屏有窗口工具栏(底部的东西)在它前面,就像在图片中一样。正常全屏工作正常。

【问题讨论】:

  • 您是否要删除窗口应用程序的边框?如果是这样,那么您可能想尝试询问“如何从窗口应用程序中删除边框”。从现在开始,您的问题使很多人感到困惑。当您提出问题时,请具体说明,并将所有不相关的内容排除在外。
  • @MennoGouw 代码实际上已经删除了边框...

标签: java libgdx screen


【解决方案1】:

刚刚在我的装有 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() 方法。

【讨论】:

  • 如果我这样做,游戏将始终全屏。但是用户应该可以从全屏、窗口全屏和窗口模式中进行选择...
  • 我得到了 1.6.0,全屏模式工作,我只是在窗口全屏时遇到问题,我希望你知道我的意思......
  • 工具栏为什么在前面也很清楚,我只是将显示模式设置为窗口并删除了框架,但是我怎样才能将窗口放在所有内容的前面。就像现在所有现代游戏一样?
  • 在我看来,工具栏始终位于打开的应用程序前面的不仅仅是 Windows 功能。我刚刚用“奇异人生”游戏进行了测试,如果我在那里设置了窗口全屏模式,工具栏也在前面。很遗憾,我没有其他游戏要测试。
猜你喜欢
  • 2014-10-05
  • 2014-11-29
  • 2012-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-03
  • 2015-07-20
相关资源
最近更新 更多