如何使用Hashmaps进行键绑定?

时间:2012-03-25 12:13:10

标签: java

我正在用Java创建一个基本的小游戏,我想拥有它以便我可以使用Hashmaps来绑定密钥..

例如 - 它就像HashMap 然后我会这样做:     hashmap.add(Keys.up,VK_UP);

但这是我遇到问题的地方,如何在KeyListener返回按下的键时访问hashmap并选择按下哪些键?

很抱歉,如果这个问题看起来令人费解,我也很困惑......

2 个答案:

答案 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
}