c# – WinForm:按下多个键

2020-07-22 admin 原创
浏览

  标签:c winforms

  我正在研究像“太空入侵者”这样的简单游戏,我遇到了一个问题.

  我试图给用户提供从左到右移动的可能性,同时可以使用“空格键”进行拍摄.

  我的问题是:当我按下超过1个键时,只有1个功能运行.

  这里有一些我试过的东西:

  >将密钥存储在List< Keys>中. (但我没有找到任何好的方法来执行功能,一切都变得凌乱)

  2. key_down事件的正常处理如下:

  我的问题是:什么是使这项工作的好方法?

  (对不起我的英语不好)

  按住键盘控制器时重复按键.按下其他键时停止工作.这需要一种不同的方法.

  首先,你需要一个枚举来指示宇宙飞船的运动状态,其值为NotMoving,MovingLeft和MovingRight.将该类型的变量添加到您的类中.您将需要KeyDown和KeyUp事件.当你得到一个KeyDown,比如Keys.Left然后将变量设置为MovingLeft.当你获得Keys.Left的KeyUp事件时,首先检查状态变量是否仍然是MovingLeft,如果是,则将其更改为NotMoving.

  在游戏循环中,使用变量值移动宇宙飞船.一些示例代码:

  标签:c,winforms

  来源: https://codeday.me/bug/20190613/1233674.html