【问题标题】:JAVA-How can I recive all pressed keyboard keys in Java swing [duplicate]JAVA-如何在Java swing中接收所有按下的键盘键[重复]
【发布时间】:2020-11-18 17:52:57
【问题描述】:

我正在做一个小游戏,但我需要检测多个按键。 KeyListener 在这方面似乎不是很有用。

有没有办法一次检测多个键。

提前致谢!

【问题讨论】:

  • 一次多个键是什么意思?与带有修饰符 shift/ctrl 的键一样?或者您的意思是如果用户同时按 A 和 S?
  • 无论如何 KeyListener 可以同时处理按键的按下和释放。会有不同的事件,但它会处理它们。如果你需要抓住前任。同时像 A+D 一样,您可以将按下的按钮存储在某处并检查是否使用了所需的组合。

标签: java


【解决方案1】:

在编写游戏时,您通常会有一个游戏循环。 在循环中,你在检查完之后渲染每一帧 你想要的

意味着您可以接收按下事件并将它们保存在数组或地图中,然后在渲染下一帧之前检查所有按下的键的数组。

释放事件将从按键映射中删除 thibgs

您也可以忽略游戏循环,并在收到新事件时检查并更新按键映射(但这取决于您尝试构建的游戏类型)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    • 2019-02-23
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 2014-08-01
    相关资源
    最近更新 更多