2012-08-23 39 views
5

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

Display.setFullscreen(true); 

我试图改变其位置上面,我创建的显示或在哪里设置DISPLAYMODE,但仍然没有工作。有关于此的任何帮助?

+1

'Display.setDisplayModeAndFullscreen(Display.getDesktopDisplayMode())'工作吗? – Oskar

回答

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(真)后应该工作

+0

是的,它可以这样工作,谢谢。然而,我不明白为什么当我使用完全相同的宽度和高度创建一个新的DisplayMode时,它不起作用,但是当我通过getAvailableDisplayModes()方法传递DisplayMode时,它的工作原理是什么? –

+0

因为宽度和高度对于不同的显示模式不是唯一的。创建一个新的显示模式实际上给你一个不支持全屏的默认显示模式。 – Gorky

+0

我使用了这种方法,但我只得到3种兼容模式,分辨率太低。这会导致我的全屏游戏变得模糊。我在这里做错了什么? –

0

我知道这个问题是相当(5年)的时候,但可能仍有人寻找一个解决方案对这个问题。

最简单的方法就是做:

Display.setDisplayModeAndFullscreen(Display.getDesktopDisplayMode()); 

这样做会让显示器全屏为您服务。无需使用setFullscreen()。