我环顾四周,是否有人知道KeyboardState.GetPressedKeys()
(in Microsoft.Xna.Framework.Input
) 是否返回有组织集合中的键(列表中最近的第一个或最后一个)或一些杂乱无章的不可预测列表?
问问题
445 次
1 回答
3
数组的顺序由平台的键码代码顺序定义。
您无法使用此方法或任何其他 MonoGame 方法确定按下顺序,因为系统仅在每次游戏循环迭代时查询当前按下的键码。
在 Windows 游戏的默认帧速率 60 fps 下,这相当于 16 毫秒,按键的顺序变得有些无关紧要。试图理解键的混搭是荒谬的,除非目标是找到首先按下哪个键(作为“危险”风格的按钮)。如果是这种情况,挂钩到操作系统将提供最佳分辨率(在 Windows 上每秒最多 240 个样本)。
该顺序在平台和键盘布局中始终保持一致。请参阅KeyboardState.cs和Keyboard.Windows.cs的定义。
于 2019-02-13T01:28:50.477 回答