如何在创建LWJGL窗口后移动它?

时间:2013-12-27 08:42:27

标签: java lwjgl

我尝试调用Display.setLocation,但如果已经创建了显示,它似乎不起作用。

这是一个展示的例子。我希望窗口能够响应键盘而上下移动。当我运行它时,它会打印“向上/向下移动”,但窗口不会移动。

public class Test {
  public static void main(String[] args) throws Exception {
    Display.setDisplayMode(new DisplayMode(640, 480));
    Display.create();

    while (!Display.isCloseRequested()) {
      if (Keyboard.isKeyDown(Keyboard.KEY_UP)) {
        System.out.println("moving up");
        Display.setLocation(Display.getX(), Display.getY() - 1);
      }
      if (Keyboard.isKeyDown(Keyboard.KEY_DOWN)) {
        System.out.println("moving down");
        Display.setLocation(Display.getX(), Display.getY() + 1);
      }
      Display.update();
      Display.sync(60);
    }
  }
}

我可以通过使用每个setLocation销毁和重新创建显示来使其工作,但我想以小的增量移动窗口,因此这不是一个实际的解决方案。

我在OSX上使用LWJGL 2.9.1。

(我也是posted在LWJGL的论坛上。我将检查这两个网站。)

1 个答案:

答案 0 :(得分:1)

似乎这个功能还没有在OSX端口中实现(尽管旧版本2.8.5确实有它)。我发布了bug report