Моддинг в Bannerlord: Система ввода


Моддинг в 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

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Онлайн

Сейчас на сайте: 25
Гостей: 23

Пользователи: 
- отсутствуют

Последние комментарии

Mount & Blade - Эпоха турниров (Warband) 1.174
Tijuuan, 20 мая 2024 06:22
Приветствую Всех Какая то проблема появилась(Или она и была раньше,может я не знаю) в русификаторе...
MOD WW II China War of Elders
сигма, 19 мая 2024 19:49
Кто нибудь подскажите как решить ошибку unable to get technique specular_alpha_skin....
MOD Warsword Conquest Winds of Magic Edition Beta
Yang Kai, 19 мая 2024 13:01
LoudPanther,Русификатор на Orc Edition  обновился еще в Сентябре, а    А фикс багов выше для Orc...
Гайд на MOD WIND OF THE WAR - NEW ERA 74FIX8
Yang Kai, 19 мая 2024 12:54
Lostoul,Здесь мертво всё Да и какой смысл играть на древней версии? На данный момент самая новая...
MOD War in the world of magic. Era_Dragons
Lostoul, 17 мая 2024 03:50
Есть тут ещё кто живой? я начал играть в этот мод, но возникла проблема в том что я не могу понять...
Гайд на MOD WIND OF THE WAR - NEW ERA 74FIX8
Lostoul, 17 мая 2024 03:47
Есть тут ещё кто живой? я начал играть в этот мод, но возникла проблема в том что я не могу понять...
Помогите найти мод! (все вопросы с подборкой модификаций - сюда)
Deznortennus, 14 мая 2024 18:34
Tijuuan,их много. самый базовый - diplomacy или diplomacy litdum.4 . Также remasterd. знаю еще...
MOD Warsword Conquest Winds of Magic Edition Beta
Джаддар, 13 мая 2024 17:27
Здравствуйте, этот мод использовать как сабмод к "warsword conquest prewiew mod",или же можно...
MOD East 1135
Lossarin, 10 мая 2024 12:11
iskanderzp, в том то и дело, что в других модах этой проблемы нет. только здесь, то мое же...