0

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

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 语句,但这只是让它出现然后恢复到第一个字符串。

4

1 回答 1

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;
            }
        }
    }
于 2013-07-29T21:59:48.147 回答