当前位置: 首页 > 面试题库 >

如何处理Java中的同时按键?

罗学真
2023-03-14
问题内容

如何处理Java中的同时按键?

我正在尝试编写游戏,并且需要一次处理多个按键。

当我按住一个键(假设向前移动),然后按住另一个键(例如,向左转)时,将检测到新键,但不再检测到旧键。


问题答案:

一种方法是跟踪自己当前按下了哪些键。

当您收到keyPressed事件时,将新键添加到列表中;当您收到keyReleased事件时,请从列表中删除密钥。

然后,在游戏循环中,您可以根据按键列表中的内容进行操作。



 类似资料:
  • 问题内容: 在开发高度基于XML的Java应用程序时,我最近在Ubuntu Linux上遇到了一个有趣的问题。 我的应用程序使用Java Plugin Framework ,似乎无法将dom4j创建的XML文档转换为Batik的 SVG规范实现。 在控制台上,我了解到发生了错误: 我认为问题是由来自JVM的原始类加载器与插件框架部署的类加载器之间的冲突引起的。 据我所知,不可能为框架指定一个类加载

  • 问题内容: 在开发一个高度基于XML的Java应用程序时,我最近在Ubuntu Linux上遇到了一个有趣的问题。 我的应用程序使用Java Plugin Framework ,似乎无法将dom4j创建的XML文档转换为Batik的 SVG规范实现。 在控制台上,我了解到发生了错误: 我认为问题是由JVM的原始类加载器与插件框架部署的类加载器之间的冲突引起的。 据我所知,不可能为框架指定一个类加载

  • 我创建了类型。当它打开它时,它会向我显示两个按钮:OK和Cancel。我想在按下取消按钮时处理该操作,但我不知道如何到达该操作。我怎么才能拿到?

  • 问题内容: 如何确保可以将代码检出到Eclipse或NetBeans中并在其中使用? 编辑:如果不签入与ide相关的文件,则每次签出项目时,都必须重新配置buildpath,包括所有这些内容。我不知道ant(尤其是从eclipse创建/导出的ant buildfile)是否可以与其他ide无缝配合使用。 问题答案: 明智的选择是“这样做”-除非您不使用多个IDE,否则您不知道您是否真的准备好使用多

  • 我有一个事件系统,当一个特定的对象被改变时,我可以订阅它。在收到这个事件之后,我想要为这个对象执行一个任务。 同时更改多个对象是可能的。例如。如果我改变1000个对象,我将得到1000个事件。问题是,我要执行的任务处理1个对象1000次的时间比处理1000个对象1次的时间要长得多。我不能改变事件生成的方式。 所以我想的是,当我收到这些事件的时候,把它们批量起来。例如。在一个队列中收集1000个项目

  • 问题内容: 我正在使用MySQL数据库,我想知道是否同时进行多个(500个或更多)查询以便从多个表中获取信息,这些查询如何处理?顺序还是并行? 问题答案: 查询总是在多个会话(即客户端连接)之间并行处理。单个连接上的所有查询都一个接一个地运行。可以根据您可用的服务器资源来配置多个连接之间的并行度。 通常,某些操作在各个查询会话之间被保护(称为事务)。这些由InnoDB后端支持,但MyISAM表不受