0
在我当前的LWJGL应用程序中,我使用了GLFW窗口输入处理程序,我已经建立了一个名为Keyboard.java的类来处理扩展GLFWKeyCallback。我已经正确设置了我的键盘输入类,但是当我点击某个键时,如果我不点击(如果速度够快),那么它会注册为多次点击。我已经提出下面的一些文档:GLFW键盘输入寄存器作为多个点击
键盘类
public class Keyboard extends GLFWKeyCallback {
//Variables
public static boolean keys[] = new boolean[65536];
@Override
public void invoke(long window, int key, int scancode, int action, int mods) {
keys[key] = action == GLFW_PRESS;
}
}
实施
public static void handleInput() {
if (Keyboard.keys[GLFW_KEY_SPACE]) {
System.out.println("Space");
glfwPollEvents();
}
}
上述方法在主游戏循环实现,并且被调用一次一帧。
结果
初始化LWJGL版本:3.1.2建立29
空间
空间
空间
空间
以上:“S每当我点击空间时应该输出“节奏”,但是当我点击它时比较快,然后我得到了许多“空间”的上述结果。
结论:无论您持有多久,点击空间是否可以仅注册一次?谢谢
感谢您的回复,但我已经设法解决这个问题。然而,这是一个更容易的方法。谢谢。 –