首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Hashmap进行键绑定?

如何使用Hashmap进行键绑定?
EN

Stack Overflow用户
提问于 2012-03-25 20:13:10
回答 2查看 202关注 0票数 1

我正在用Java做一个基本的小游戏,我想拥有它,这样我就可以使用Hashmap来绑定键。

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

但这就是我的问题所在,如何访问散列映射并选择当KeyListener返回按下的键时按下的键?

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-25 20:17:32

您可以使用map.put(key,value)将键和值插入到哈希图中,并使用map.get(key)根据键来检索值

您需要确保键的类覆盖了库类的hashCode()equals() -它已经这样做了

票数 1
EN

Stack Overflow用户

发布于 2012-03-25 20:29:59

由于KeyEvent的所有键类型都是int类型,因此请使用以下散列映射:

代码语言:javascript
运行
复制
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);
}

现在,您可以通过以下命令测试某个键是否被按下:

代码语言:javascript
运行
复制
if (keysState.get(KeyEvent.VK_UP)) {
   // Up key is pressed so do the desired action
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9860025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档