KeyboardState.GetPressedKeys()是如何组织的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KeyboardState.GetPressedKeys()是如何组织的?相关的知识,希望对你有一定的参考价值。
我环顾四周,有没有人知道KeyboardState.GetPressedKeys()
(在Microsoft.Xna.Framework.Input
)是否返回有组织的集合中的密钥(最近的列表中的第一个或最后一个)或一些无组织的不可预测的列表?
答案
数组的顺序由平台的键码代码顺序定义。
您无法使用此方法或任何其他MonoGame方法确定按下的订单,因为系统仅查询当前按下的键码,每次游戏循环迭代。
对于Windows游戏,默认帧速率为60 fps,相当于16毫秒,按键顺序变得有些无关紧要。尝试理解键的混合是没有意义的,除非目标是找到第一个按下的键(作为“危险”样式按钮)。如果是这种情况,操作系统的挂钩将提供最佳分辨率(Windows上每秒最多240个样本)。
订单在平台和键盘布局中始终保持一致。请参阅KeyboardState.cs和Keyboard.Windows.cs的定义。
以上是关于KeyboardState.GetPressedKeys()是如何组织的?的主要内容,如果未能解决你的问题,请参考以下文章