mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
- move create_trackbar_setting/update_trackbar_label/create_checkbox from settings_audio/display/graphics pages to core:settings_common module - GUI scale trackbar shows the really applied scale, e.g. '3 (effective 2)' - add gui.get_scale(), gui.get_max_scale(), gui.get_cursor_pos() (UI units); document that input.get_mouse_pos() returns window pixels - InventoryView default color is defined once (InventoryView::DEFAULT_COLOR) instead of duplicated literals; 'color' attribute still overrides it
3.2 KiB
3.2 KiB
Библиотека input
Основные методы
-- Возвращает код клавиши по имени, либо -1
input.keycode(keyname: string) -> number
-- Возвращает код кнопки мыши по имени, либо -1
input.mousecode(mousename: string) -> number
-- Проверяет активность ввода по коду, состоящему из:
-- * типа ввода: key (клавиша) или mouse (кнопка мыши)
-- * код ввода: [имя клавиши](#имена-клавиш) или имя кнопки мыши (left, middle, right)
input.is_pressed(code: string) -> boolean
-- Возвращает названия всех доступных привязок.
input.get_bindings() -> table<string>
-- Возвращает текстовое представление кнопки по имени привязки.
input.get_binding_text(bindname: string) -> string
-- Проверяет активность привязки.
input.is_active(bindname: string) -> boolean
-- Включает/выключает привязку до выхода из мира.
input.set_enabled(bindname: string, flag: boolean)
Курсор мыши
-- Возвращает позицию курсора на экране в пикселях окна.
-- Для позиции в единицах UI (с учётом масштаба) используйте gui.get_cursor_pos().
input.get_mouse_pos() -> {number, number}
-- Возращает дельту позиции курсора.
input.get_mouse_delta() -> {number, number}
-- Возвращает вертикальное смещение колеса мыши, накопленное за текущий кадр.
-- Положительное значение соответствует прокрутке вверх, отрицательное - вниз.
input.get_mouse_scroll() -> number
Создание обработчиков
input.add_callback(
-- Имя привязки
bindname: string,
-- Обработчик
callback: function
-- UI элемент-владелец обработчика (отвечает за срок жизни)
[опционально] owner: Element,
-- Игнорировать захват ввода UI элементами
[опционально] istoplevel: boolean
)
Назначает функцию, которая будет вызываться при активации привязки. Пример:
input.add_callback("hud.inventory", function ()
print("Inventory open key pressed")
end)
Можно назначить функцию на нажатие клавиши.
input.add_callback("key:space", function ()
print("Space pressed")
end)
Также можно привязать время жизни функции к UI контейнеру, вместо HUD.
В таком случае, input.add_callback можно использовать до вызова on_hud_open.
input.add_callback("key:escape", function ()
print("NO")
return true -- предотвращает вызов назначенных ранее функций
end, document.root)