【发布时间】:2015-07-16 23:34:44
【问题描述】:
我正在使用 java 和 LWJGL3 开发游戏。但我不明白如何解决我的问题,我试图在互联网上搜索,但 LWJGL 的信息很少,我找不到 GLFW 的任何信息。
例如,假设我有一个包含 4 个按钮(新游戏、选项、信用、退出)的菜单和一个计数变量,用于知道选择了哪个按钮。每次按下向上箭头键时,我想从选择中减去一个,以选择前一个,向下箭头键也是如此,但我想加一个。
问题如下:如果在第 0 帧中我按下箭头键,计数变量被添加,但在下一帧中,键仍然被按下,所以它被再次添加。我不知道如何解决这个问题,我尝试将 GLFW_PRESS 更改为 GLFW_RELEASE,但我希望在按下键时执行该操作。
if ((glfwGetKey(window, GLFW_KEY_UP) == GLFW_REPEAT) && select > 0) {
button[select].toggleSelect();
select--;
button[select].toggleSelect();
}
if ((glfwGetKey(window, GLFW_KEY_DOWN) == GLFW_REPEAT) && select < button.length) {
button[select].toggleSelect();
select++;
button[select].toggleSelect();
}
我知道这段代码会抛出数组索引越界异常
【问题讨论】: