KeyboardState.GetPressedKeys()是如何组织的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KeyboardState.GetPressedKeys()是如何组织的?相关的知识,希望对你有一定的参考价值。

我环顾四周,有没有人知道KeyboardState.GetPressedKeys()(在Microsoft.Xna.Framework.Input)是否返回有组织的集合中的密钥(最近的列表中的第一个或最后一个)或一些无组织的不可预测的列表?

答案

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

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

对于Windows游戏,默认帧速率为60 fps,相当于16毫秒,按键顺序变得有些无关紧要。尝试理解键的混合是没有意义的,除非目标是找到第一个按下的键(作为“危险”样式按钮)。如果是这种情况,操作系统的挂钩将提供最佳分辨率(Windows上每秒最多240个样本)。

订单在平台和键盘布局中始终保持一致。请参阅KeyboardState.csKeyboard.Windows.cs的定义。

以上是关于KeyboardState.GetPressedKeys()是如何组织的?的主要内容,如果未能解决你的问题,请参考以下文章