有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java LWJGL和Slick在捕捉击键时遇到问题

我在LWJGL和slick方面遇到了麻烦。我试图做的是显示一定数量的文本,当按下一个按钮时(在本例中为return),屏幕将清除,并显示新文本。我目前正在使用这个代码

public void text() {
    GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
    Color.white.bind;
    font.drawString(0, 0, "text");
  while (Keyboard.isKeyDown(Keyboard.KEY_RETURN)) {
    GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
    font.drawString(0, 0, "text (again)");
  }
}
//so on an so forth

但问题是,当我放入另一个,它会产生一个死亡循环。 有更好的方法吗?我尝试过If语句,但它刚刚出现,然后返回到第一个字符串


共 (1) 个答案

  1. # 1 楼答案

    在我看来,正在发生的事情是它重复执行,而你试图做的是执行一次。这方面的准则是:

    while(Keyboard.next()) {
            if(Keyboard.getEventKeyState()) {
                switch(Keyboard.getEventKey()) {
                case Keyboard.KEY_RETURN:
                    GL11.glClear(GL_COLOR_BUFFER_BIT);
                    font.drawString(0, 0, "text (again)");
                    break;
                }
            }
        }