3个键被按下时键盘输入错误
问题描述:
当我同时按下3个键时,我的代码有问题。 当我按下3个键被按下时键盘输入错误
- 高达+右+空格:移动和对象大火
- 向上+左+空间:移动,但不会触发
- 下+右+空间:移动,但不火
- 向下+左+空间:移动,但不会触发
- 所有其他2个组合键的罚款。
这里是我的代码:
if (newkbState.IsKeyDown(Keys.Up))
player.MoveFwd();
else if (newkbState.IsKeyDown(Keys.Down))
player.MoveBkwd();
else
player.StopMoving();
if (newkbState.IsKeyDown(Keys.Left))
player.TurnLeft();
else if (newkbState.IsKeyDown(Keys.Right))
player.TurnRight();
else
player.StopTurning();
if (newkbState.IsKeyDown(Keys.Space))
player.Fire();
答
相当基本的问题 - 但键盘支持同时有3个以上的键吗? “鬼影”作为其称为是不是闻所未闻的,在老式键盘:
https://www.microsoft.com/appliedsciences/antighostingexplained.mspx
你100%地肯定它的代码?
答
这可能是您的键盘问题(一些微软的键盘,例如有类似的问题);只是为了安全起见,请尝试另一个键盘。
+0
我在不同的键盘上试过它,并得到同样的问题。 – raym0nd 2012-03-14 18:58:09
使用Haedrian提供的链接,我发现我的戴尔笔记本电脑无法处理3个按键,当向左和向上按下时。我的罗技无线键盘似乎可以同时处理任何6个按键。 – 2012-03-14 19:17:50