如何组织KeyboardState.GetPressedKeys()?

时间:2019-02-06 22:36:06

标签: c# xna monogame keyboard-input

我环顾四周,有人知道KeyboardState.GetPressedKeys()(在Microsoft.Xna.Framework.Input中)是否返回有组织集合(列表中最近的第一个或最后一个)或一些杂乱无章的列表中的键? / p>

1 个答案:

答案 0 :(得分:2)

数组的顺序由平台的键控代码顺序定义。

您不能使用此方法或任何其他MonoGame方法确定按下顺序,因为每次游戏循环迭代时,系统仅查询当前按下的键码。

在Windows游戏的默认帧速率为60 fps时,这等于16毫秒,按键的顺序变得有些无关紧要。除非要找到首先按下哪个键(作为“ Jeopardy”样式的按钮),否则试图使键的混搭变得毫无意义。在这种情况下,连接到操作系统将提供最佳分辨率(在Windows上为每秒240个样本)。

顺序在平台和键盘布局内始终是一致的。请参阅KeyboardState.csKeyboard.Windows.cs的定义。