【发布时间】:2014-03-06 22:29:39
【问题描述】:
我正在学习 XNA (v. 4.0),我正在使用键盘上的箭头键移动精灵,以及在按住空格时让角色冲刺。
下面是我的代码来确定按下了哪些键:
currentKBState = Keyboard.GetState();
bool right = currentKBState.IsKeyDown(Keys.Right);
bool left = currentKBState.IsKeyDown(Keys.Left);
bool up = currentKBState.IsKeyDown(Keys.Up);
bool down = currentKBState.IsKeyDown(Keys.Down);
bool space = currentKBState.IsKeyDown(Keys.Space);
System.Diagnostics.Debug.WriteLine(String.Format("{0} {1} {2} {3} {4}", right, left, up, down, space));
问题是我不能同时按下所有 5 个。有时只有两个会注册。例如,如果我按住 Up、Down 和 Left,它只会说 up 和 down 是正确的,无论我按住三个键多久。无论按下什么组合,我都希望能够处理。为什么它不注册所有被按下的按钮?我需要其他方法吗?
【问题讨论】:
-
这可能是您拥有的键盘造成的。