【发布时间】:2016-10-19 06:15:42
【问题描述】:
我一直在寻找一种解决方案来检测是否在 C# 中按下了多个键(我找不到解决方案!)。 我有这个游戏有两个玩家,我需要检测是否按下键来移动他们。 (我正在使用 C# 表单) 我只找到了检测是否同时按住两个键并且它们没有帮助的答案。
--编辑--
如何使用 KeyPressed (C#) 检测是否按下某个键
【问题讨论】:
-
@jeffrycopps 对不起,但这没有帮助,答案只告诉您如何检测是否按下了所有选定的键,而不是是否按下了任何键。
-
我没有很好地理解你的问题。我猜按下和按住的键是一样的。
-
水晶球说真正的问题是键重复不再起作用。您应该永远在游戏中依赖的东西,因为重复率和节奏是用户的偏好。没有什么是两个 bool 变量不能做的。使用 KeyDown 事件将它们设置为 true,使用 KeyUp 事件将它们设置回 false。在游戏循环中使用这些布尔值来确定游戏对象应该移动的位置。多个玩家同时按键完全没有关系,您会一个接一个地获得事件。
-
@jeffrycopps 我没有把自己说清楚的技巧,所以这次我会努力让它变得更好。你给我的链接,答案是编码来检查所有的键同时按下,我需要检查是否按下了多个键,例如UP、DOWN、LEFT、RIGHT、W、A、S、D。我不想检查它们是否被同时按下全部。
标签: c# forms winforms keyboard key