LeP*_*non 5 java screen libgdx
我尝试给用户提供他想玩游戏的选项.窗口和全屏模式没问题.我似乎无法工作的是无边框全屏/窗口全屏.我搜索了网络,发现只有一个网站帮助了我:
http://badlogicgames.com/forum/viewtopic.php?f=11&t=13863
我按照我的说法做了,我认为它有点工作,我的问题是,底部的Windows 10工具栏总是在窗口前面.这是它的外观图:
颜色很糟糕,但仅用于测试目的.代码如下所示:
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);
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
编辑: 我更新到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);
}
Run Code Online (Sandbox Code Playgroud)
一切都像以前一样工作,只有无边框的全屏幕上有窗口工具栏(botton上的东西),就像在图片中一样.普通全屏工作正常.
刚刚在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);
}
}
Run Code Online (Sandbox Code Playgroud)
您应该DesktopLauncher在桌面模块中进行设置
更新
您应该尝试:
Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode());
Run Code Online (Sandbox Code Playgroud)
另外,您使用的是哪个版本的LibGDX?我使用的是1.8.0版,但没有Gdx.graphics.setDisplayMode()方法。