LWJGL和Slick在击键时遇到了麻烦

时间:2013-07-14 20:19:17

标签: java lwjgl slick2d

我遇到了LWJGL和光滑的问题。我试图做的是显示一定数量的文本,当按下按钮时(在这种情况下它将返回),屏幕清除并显示新文本。我目前正在使用此代码

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 个答案:

答案 0 :(得分:0)

在我看来,发生的事情是它重复执行,而你想要做的就是执行一次。代码将是:

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;
            }
        }
    }