【发布时间】:2014-12-14 10:39:45
【问题描述】:
我经常在这里找到有用的信息,现在是时候自己创建一个帐户并感谢这个社区经常帮助我!
我目前正在使用 Xamarin 5.5.4 在 Mac OSX 10.9.5 中的 Monogame 3.2 中编写游戏,遇到了一个我以前从未见过的奇怪问题:当我按下其中一个箭头键时,似乎是 shift 键,无论是左还是右,总是被认为是未按下,即使我按下它们。
我在我的游戏循环中使用这些代码行检查了这一点:
foreach (Keys key in Keyboard.GetState().GetPressedKeys()) {
Console.WriteLine (key.ToString ());
}
输出总是一样的。当我只按一个 shift 键或先按一个(并按住)时,我得到
LeftShift
RightShift
最后加上箭头键(如果先按住 shift)。但是,当我先按其中一个箭头键,然后在其中一个箭头键按下时按 shift 键,这两个不会出现。
这显然是一个问题,因为我的游戏角色现在在按下 shift 时无法运行(至少在第一次按下箭头键并按住时)。我仔细检查了其他键(如 Z)是否也被阻止,但似乎箭头键只阻止 shift(但到目前为止我还没有检查每个键)。
有人知道为什么会这样吗?我检查了 Mac OSX 中是否激活了粘滞键,但没有。遗憾的是,到目前为止,我在互联网上找不到任何东西。
感谢任何帮助!提前非常感谢!
【问题讨论】:
标签: c# macos keyboard xamarin monogame