Как организовано KeyboardState.GetPressedKeys ()? - PullRequest
0 голосов
/ 07 февраля 2019

Я осмотрелся, кто-нибудь знает, возвращает ли KeyboardState.GetPressedKeys()Microsoft.Xna.Framework.Input) ключи в организованной коллекции (последняя или последняя в списке последней) или какой-то неорганизованный непредсказуемый список?

1 Ответ

0 голосов
/ 13 февраля 2019

Порядок массива определяется порядком кода кода платформы.

Вы не можете определить нажатый порядок, используя этот или любой другой метод MonoGame, поскольку система запрашивается только для нажатых в данный момент кодов клавиш, каждую итерацию игрового цикла.

При частоте кадров по умолчанию 60 кадров в секунду для игр для Windows это равно 16 миллисекундам, порядок нажатия клавиш становится несколько неактуальным.Попытка разобраться в смешивании клавиш бессмысленна, если только цель не состоит в том, чтобы найти, какая клавиша была нажата первой (как кнопка стиля «Опасность»).В этом случае подключение к ОС обеспечит наилучшее разрешение (до 240 сэмплов в секунду в Windows).

Порядок всегда согласован для платформы и раскладки клавиатуры.Пожалуйста, смотрите определение для KeyboardState.cs и Keyboard.Windows.cs .

...