LWJGL全屏不起作用。

5

我正在尝试将全屏功能添加到我的程序中,但无法使其正常工作。

Display.setFullscreen(true);

我尝试将其位置更改为在创建显示器或设置显示模式的上方,但仍然无法正常工作。关于此问题有任何帮助吗?

1
Display.setDisplayModeAndFullscreen(Display.getDesktopDisplayMode()) 能够正常工作吗? - Oskar
2个回答

8

根据我的经验,DisplayMode需要支持它。你可以尝试这样做:

        DisplayMode displayMode = null;
        DisplayMode[] modes = Display.getAvailableDisplayModes();

         for (int i = 0; i < modes.length; i++)
         {
             if (modes[i].getWidth() == width
             && modes[i].getHeight() == height
             && modes[i].isFullscreenCapable())
               {
                    displayMode = modes[i];
               }
         }

完成这个操作之后,您的Display.setFullscreen(true)应该可以正常工作。

是的,这样可以工作,谢谢。但是我不明白为什么当我使用完全相同的宽度和高度创建新的DisplayMode时它不起作用,但是当我从getAvailableDisplayModes()方法中传递一个DisplayMode时它可以工作? - Mertcan Ekiz
因为不同的显示模式宽度和高度并不唯一。创建新的显示模式实际上会提供一个默认的显示模式,该模式不支持全屏。 - Gorky
我使用了这种方法,但是我只得到了3种兼容模式,它们的分辨率太低了。这导致我的全屏游戏变得模糊。我在这里做错了什么吗? - Crazy Redd

2

我知道这个问题已经比较老(5年前),但仍有人在寻找解决方案。

最简单的方法是:

Display.setDisplayModeAndFullscreen(Display.getDesktopDisplayMode());

这将为您的显示器全屏,无需使用setFullscreen()。


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