首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SWT:检查是否同时按下了多个键

SWT:检查是否同时按下了多个键
EN

Stack Overflow用户
提问于 2010-09-09 00:59:09
回答 4查看 1.8K关注 0票数 3

我想用java和swt开发一个小游戏。出于这个原因,我必须对KeyEvents做出反应。例如,我如何检查向上箭头键和'q‘是否按在一起?

提前感谢

菲尼亚斯

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-10 01:28:23

实际上,您可以实现这一点。每个向下键和向上键都有它自己的事件被触发,所以你可以准确地知道什么时候什么键被按下,以及什么键在任何时候被按下。

示例:当触发向下箭头的key down事件时,您开始向下移动右划板。当X键的key down事件被激发时,您开始向下移动左侧的划桨。当X键的key up事件被激发时,您将停止移动左桨,而当向下箭头的key up事件被激发时,您将停止移动右桨。=>,你可以独立地控制它们。

您可以将所有这些都封装在某种实用程序中,从而使解决方案变得更干净。

票数 2
EN

Stack Overflow用户

发布于 2010-09-09 01:34:54

SWT没有按在一起的概念(除非您正在谈论标准的修改键,如shift、alt等)。你能做的就是分别捕捉向上箭头和'q‘键事件。如果计时有问题,那么您可以比较两个时间戳(在KeyEvent中有一个时间字段),并确定您对一起的定义是什么(50毫秒?您可能想要进行实验)。

如果Q被用作修饰符,那么这就更容易了,因为你可以在按下Q时设置一个标志,当按下向上箭头时,你可以检查Q标志是否被设置。这将比担心时间问题容易得多。当然,不要忘记在释放键时清除Q标志。

票数 5
EN

Stack Overflow用户

发布于 2010-09-09 01:50:36

酸度鱼呼吸的解决方案将会起作用。有关一个很好的示例,请参阅http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet25.java

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3670106

复制
相关文章

相似问题

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