89 lines
2.3 KiB
Markdown
89 lines
2.3 KiB
Markdown
# Библиотека *input*
|
||
|
||
```lua
|
||
input.keycode(keyname: str) --> int
|
||
```
|
||
|
||
Возвращает код клавиши по имени, либо -1
|
||
|
||
```lua
|
||
input.mousecode(mousename: str) --> int
|
||
```
|
||
|
||
Возвращает код кнопки мыши по имени, либо -1
|
||
|
||
```lua
|
||
input.add_callback(bindname: str, callback: function)
|
||
```
|
||
|
||
Назначает функцию, которая будет вызываться при активации привязки. Пример:
|
||
|
||
```lua
|
||
input.add_callback("hud.inventory", function ()
|
||
print("Inventory open key pressed")
|
||
end)
|
||
```
|
||
|
||
Можно назначить функцию на нажатие клавиши.
|
||
|
||
```lua
|
||
input.add_callback("key:space", function ()
|
||
print("Space pressed")
|
||
end)
|
||
```
|
||
|
||
Также можно привязать время жизни функции к UI контейнеру, вместо HUD.
|
||
В таком случае, `input.add_callback` можно использовать до вызова `on_hud_open`.
|
||
|
||
```lua
|
||
input.add_callback("key:escape", function ()
|
||
print("NO")
|
||
return true -- предотвращает вызов назначенных ранее функций
|
||
end, document.root)
|
||
```
|
||
|
||
```lua
|
||
input.get_mouse_pos() --> {int, int}
|
||
```
|
||
|
||
Возвращает позицию курсора на экране.
|
||
|
||
```lua
|
||
input.get_bindings() --> массив строк
|
||
```
|
||
|
||
Возвращает названия всех доступных привязок.
|
||
|
||
```lua
|
||
input.get_binding_text(bindname: str) --> str
|
||
```
|
||
|
||
Возвращает текстовое представление кнопки по имени привязки.
|
||
|
||
```lua
|
||
input.is_active(bindname: str) --> bool
|
||
```
|
||
|
||
Проверяет активность привязки.
|
||
|
||
```lua
|
||
input.set_enabled(bindname: str, flag: bool)
|
||
```
|
||
|
||
Включает/выключает привязку до выхода из мира.
|
||
|
||
```lua
|
||
input.is_pressed(code: str) --> bool
|
||
```
|
||
|
||
Проверяет активность ввода по коду, состоящему из:
|
||
- типа ввода: key (клавиша) или mouse (кнопка мыши)
|
||
- код ввода: [имя клавиши](#имена-клавиш) или имя кнопки мыши (left, middle, right)
|
||
|
||
Пример:
|
||
```lua
|
||
if input.is_pressed("key:enter") then
|
||
...
|
||
end
|
||
```
|