[英]My simple key listener isn't working. It doesn't seem to toggle the pressed boolean. (Java)
我將其用於簡單的2.5D游戲,但是我的按鍵似乎沒有切換。 在主類中調用它不是問題,因為將println語句放置在if語句未運行的情況下。 提前謝謝。
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class InputHandler implements KeyListener {
public InputHandler(Game game) {
game.addKeyListener(this);
}
public class Key {
private boolean pressed = false;
private int numTimesPressed = 0;
public boolean isPressed() {
return pressed;
}
public int getnumTimesPressed() {
return numTimesPressed;
}
public void toggle(boolean isPressed) {
pressed = isPressed;
if (isPressed()) {
numTimesPressed++;
}
}
}
// *This is where your keys go.
public Key up = new Key();
public Key down = new Key();
public Key left = new Key();
public Key right = new Key();
public void keyPressed(KeyEvent e) {
toggleKey(e.getKeyCode(), true);
}
public void keyReleased(KeyEvent e) {
toggleKey(e.getKeyCode(), false);
}
public void keyTyped(KeyEvent e) {
}
public void toggleKey(int keyCode, boolean isPressed) {
if (keyCode == KeyEvent.VK_W) {
up.toggle(isPressed);
}
if (keyCode == KeyEvent.VK_S) {
down.toggle(isPressed);
}
if (keyCode == KeyEvent.VK_A) {
left.toggle(isPressed);
}
if (keyCode == KeyEvent.VK_D) {
right.toggle(isPressed);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.