【问题标题】:How do I make an LWJGL window resizable?如何使 LWJGL 窗口可调整大小?
【发布时间】:2011-07-09 13:42:40
【问题描述】:

我正在尝试使我的 java 游戏的窗口可调整大小,它使用 LWJGL 库。根据一些可以追溯到 2007 年的论坛问题,这只能通过解决方法来实现。今天仍然如此吗?还有什么路要走?​​p>

【问题讨论】:

  • 更新:LWJGL 在最近的版本中为 Display 类添加了一堆函数调用,允许您使窗口可调整大小和最大化。我可以推荐这种方法,而不是使用 canvas/JFrame 组合。

标签: java lwjgl


【解决方案1】:

Display 类具有启用调整大小的选项。 http://lwjgl.org/javadoc/org/lwjgl/opengl/Display.html#setResizable(boolean)

您可以随时使用getWidth()getHeight() 获取宽度和高度。

【讨论】:

  • 确实如此。这是最近添加的一项新功能。我强烈建议使用此方法而不是旧的“画布”方法。
  • 链接断开 - 导致 404 未找到
【解决方案2】:

LWJGL 的原生显示不可调整大小。然而,它很容易实现,您只需使用 AWT 框架并使用 Display.setParent(Canvas) 将您的 LWJGL 内容粘贴在其上即可获得可调整大小的窗口。

【讨论】:

【解决方案3】:

如果您使用的是 LWJGL 2.9,您可以调用

Display.setResizable();

这将允许调整窗口大小。

然后在更新显示之前执行此操作。

if (Display.wasResized()) GL11.glViewport(0, 0, Display.getWidth(), Display.getHeight());

如果调整大小,这会将视口更改为屏幕大小。

【讨论】:

  • 没有办法,但对于那些发现这个问题的人来说,这是(目前)迄今为止最好的答案。
  • Display.setResizable() 方法采用布尔参数:true 使其可调整大小,或false 阻止其调整大小。
猜你喜欢
  • 1970-01-01
  • 2020-08-14
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 2011-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多