if(Keyboard.getEventKey() == Keyboard.KEY_Q) {
if (Keyboard.getEventKeyState()) {
System.err.println("Pressed");
}else {
System.err.println("Released");
}
}
当我按下并发布' Q'时,它既不打印"按下"也没有"发布"。帮助
编辑:问题解决了。首先必须在使用getEventKey()之前轮询键盘缓冲区。固定代码是:while(Keyboard.next()) {
if(Keyboard.getEventKey() == Keyboard.KEY_Q) {
System.out.println("HI");
if (Keyboard.getEventKeyState()) {
System.out.println("Pressed");
}else {
System.out.println("Released");
}
}
}
答案 0 :(得分:1)
每个API:
public static int getEventKey()
请注意,返回的密钥代码对当前键盘布局无效。要获得实际字符,请调用getEventCharacter
返回:当前事件的键
尝试更改您的第一个if
语句,以使用getEventCharacter
menthod作为:
if(Keyboard.getEventCharacter() == Keyboard.KEY_Q) {
答案 1 :(得分:0)
这就是我在程序中所做的...我为角色制作了一个布尔值,然后在游戏循环中运行一个方法来检查它:
public static boolean keyboardA;
public static void refresh() {
keyboardA = Keyboard.isKeyDown(Keyboard.KEY_A);
}
public static void game_loop() {
refresh();
}
如果你需要我解释更多的评论:P 希望它有所帮助