【发布时间】:2011-07-09 13:42:40
【问题描述】:
我正在尝试使我的 java 游戏的窗口可调整大小,它使用 LWJGL 库。根据一些可以追溯到 2007 年的论坛问题,这只能通过解决方法来实现。今天仍然如此吗?还有什么路要走?p>
【问题讨论】:
-
更新:LWJGL 在最近的版本中为 Display 类添加了一堆函数调用,允许您使窗口可调整大小和最大化。我可以推荐这种方法,而不是使用 canvas/JFrame 组合。
我正在尝试使我的 java 游戏的窗口可调整大小,它使用 LWJGL 库。根据一些可以追溯到 2007 年的论坛问题,这只能通过解决方法来实现。今天仍然如此吗?还有什么路要走?p>
【问题讨论】:
Display 类具有启用调整大小的选项。 http://lwjgl.org/javadoc/org/lwjgl/opengl/Display.html#setResizable(boolean)
您可以随时使用getWidth() 和getHeight() 获取宽度和高度。
【讨论】:
LWJGL 的原生显示不可调整大小。然而,它很容易实现,您只需使用 AWT 框架并使用 Display.setParent(Canvas) 将您的 LWJGL 内容粘贴在其上即可获得可调整大小的窗口。
【讨论】:
如果您使用的是 LWJGL 2.9,您可以调用
Display.setResizable();
这将允许调整窗口大小。
然后在更新显示之前执行此操作。
if (Display.wasResized()) GL11.glViewport(0, 0, Display.getWidth(), Display.getHeight());
如果调整大小,这会将视口更改为屏幕大小。
【讨论】:
Display.setResizable() 方法采用布尔参数:true 使其可调整大小,或false 阻止其调整大小。