我一直在关注TheCherno关于Java游戏开发的教程系列。他只将精灵用于四个方向,而我想用于8个方向(向上+向右等) 我一直在尝试获取代码,以便在按下两个方向键时返回布尔值,而我似乎碰到了一个树桩,我不确定下一步该怎么做。有任何想法吗?谢谢。
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.HashSet;
import java.util.Set;
public class Keyboard implements KeyListener {
private Set<Character> pressed = new HashSet<Character>();
public boolean up, down, left, right, upright, downright, downleft, upleft;
public void update() {
for (Character c : pressed) {
if (c == KeyEvent.VK_A) {
left = true;
} else if (c == KeyEvent.VK_S) {
down = true;
} else if (c == KeyEvent.VK_D) {
right = true;
} else if (c == KeyEvent.VK_W) {
up = true;
}
}
if (up && right) upright = true;
if (down && right) downright = true;
if (down && left) downleft = true;
if (up && left) upleft = true;
}
public void keyReleased(KeyEvent e) {
pressed.remove(e.getKeyChar());
}
public void keyPressed(KeyEvent e) {
pressed.add(e.getKeyChar());
}
public void keyTyped(KeyEvent e) {
}
}