Моддинг в Bannerlord: Система ввода
Оригинальная статья - https://docs.bannerlordmodding.com/_csharp-api/inputsystem/input.html
Этот статический тип предоставляет вам функциональные возможности ввода, базовая система ввода не имеет событий для привязки и поддерживает только опрос. Это во многом говорит само за себя с несколькими возможными ошибками.
Чтение ключей
Существует ряд полезных методов, которые обнаруживают нажатие клавиш по-разному, и все они возвращают «логический тип» (bool). Наиболее распространены IsKeyDown, IsKeyPressed и IsKeyReleased.
Назвать их можно так: Input.IsKeyDown (InputKey.TheKeyCode). Смотреть список всех кодов клавиш в самом внизу статьи.
Вы также можете использовать методы расширения IsDown/IsPressed/IsReleased в виде функции KeyCode.A.IsPress().
Ниже вы можете найти подробную документацию по каждому из них.
Пространство имён (Namespace)
Эта страница допускает такой импорт: using TaleWorlds.InputSystem;
Общедоступный статический логический тип Input.IsKeyDown(InputKey key)
Проверяет, нажата ли в данный момент указанная [клавиша], и возвращается значение true до тех пор, пока [клавиша] удерживается в нажатом состоянии.
Например:
if(Input.IsKeyDown(InputKey.Y))
{
//doSomething
}
Общедоступный статический логический тип Input.IsKeyDownImmediate (InputKey key)
Действует как промежуточная проверка между IsKeyDown и IsKeyPressed.
Например:
if(Input.IsKeyDownImmediate(InputKey.Y))
{
//doSomething
}
Общедоступный статический логический тип Input.IsKeyPressed(InputKey key)
Проверяет, была ли нажата указанная [клавиша], она возвращает логическое значение один раз.
Например:
if(Input.IsKeyPressed(InputKey.Y))
{
//doSomething
}
Общедоступный статический логический тип Input.IsKeyReleased(InputKey key)
Проверяет, не нажата ли указанная [клавиша] в данный момент, и возвращает логическое значение один раз.
Например:
if(Input.IsKeyReleased(InputKey.Y))
{
//doSomething
}
Чтобы увидеть, как можно задокументировать этапы ключа, используя указанные выше 3 метода.
Общедоступный статический логический тип Input.IsControlOrShiftNotDown()
Я не верю, что существует другой метод, более понятный, чем этот. Возвращает на true, если ни Control, ни Shift не нажаты.
Общедоступный статический логический тип Input.IsPressed(InputKey key)
Проверяет, нажата ли указанная ими [клавиша]. В отличие от IsDown, его можно использовать как Input.IsPressed (), но не как расширение.
Общедоступный статический Vector2 Input.GetKeyState(InputKey key)
Проверяет и возвращает текущее состояние указанного [ключа] как Vector2. Я не знаю, как это можно использовать.
Например:
using System.Numerics; // WARNING, this assumes the existance of System.Numerics.Vectors.dll,
// which has to be installed manually.
using Taleworlds.InputSystem;
Vector2 test = new Vector2(Input.GetKeyState(InputKey.A));
Vector2 compare = new Vector2(10, 10);
if (Equals(test, compare))
InformationManager.DisplayMessage(new Informationmessage("Help please I'm forced to write this doc!"));
Общедоступная статическая строка Input.GetKeyboardText()
Возвращает текст, в настоящее время существующий в буфере обмена пользователя, в виде строки.
Общедоступный статический логический тип Input.IsMouseActive
Проверяет, активна ли мышь в данный момент, если да, возвращает на true.
Общедоступный статический логический тип Input.IsMouseScrollChanged
Проверяет, вращается ли в настоящий момент колесо прокрутки мыши, если да, возвращает на true.
Общедоступный статический float Input.MouseMoveX
Возвращает горизонтальное положение мыши как плавающее.
Общедоступный статический float Input.MouseMoveY
Возвращает вертикальное положение мыши как плавающее.
Комментариев 0
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.