我环顾四周,有人知道KeyboardState.GetPressedKeys()
(在Microsoft.Xna.Framework.Input
中)是否返回有组织集合(列表中最近的第一个或最后一个)或一些杂乱无章的列表中的键? / p>
答案 0 :(得分:2)
数组的顺序由平台的键控代码顺序定义。
您不能使用此方法或任何其他MonoGame方法确定按下顺序,因为每次游戏循环迭代时,系统仅查询当前按下的键码。
在Windows游戏的默认帧速率为60 fps时,这等于16毫秒,按键的顺序变得有些无关紧要。除非要找到首先按下哪个键(作为“ Jeopardy”样式的按钮),否则试图使键的混搭变得毫无意义。在这种情况下,连接到操作系统将提供最佳分辨率(在Windows上为每秒240个样本)。
顺序在平台和键盘布局内始终是一致的。请参阅KeyboardState.cs和Keyboard.Windows.cs的定义。