我正在用Java创建一个基本的小游戏,我想拥有它以便我可以使用Hashmaps来绑定密钥..
例如 - 它就像HashMap 然后我会这样做: hashmap.add(Keys.up,VK_UP);
但这是我遇到问题的地方,如何在KeyListener返回按下的键时访问hashmap并选择按下哪些键?
很抱歉,如果这个问题看起来令人费解,我也很困惑......
答案 0 :(得分:1)
使用map.put(key,value)
向hashmap插入键和值,并使用map.get(key)
您需要确保键的类重写hashCode()
和equals()
[对于库类 - 它已经是]
答案 1 :(得分:1)
由于KeyEvent的所有键类型都是int类型,因此使用以下哈希映射:
HashMap<Integer, Boolean> keysState = new HashMap<Integer, Boolean>();
.
.
.
public void keyPressed(KeyEvent e) {
keysState.put(e.getKeyCode(), true);
}
public void keyReleased(KeyEvent e) {
keysState.put(e.getKeyCode(), false);
}
现在您可以通过以下方式测试是否按下了某个键:
if (keysState.get(KeyEvent.VK_UP)) {
// Up key is pressed so do the desired action
}