Интерактивное устройство¶
- объект Интерактивное устройство; InteractiveDeviceBaseReactor¶
Базовый объект для:
Объект предоставляет интерфейсы управления физическим устройством и обработки событий, приходящих от него. В качестве такого устройства может выступать мышь, трекпад, тачпад, клавиатура, VR контроллер и т.п.
Обзор возможностей¶
Свойство |
Описание |
|---|---|
Позволяет приостановить/возобновить обработку событий, приходящих от устройства. |
Событие |
Описание |
|---|---|
Запускается при включении объекта. |
|
Запускается при выключении объекта. |
|
Запускается при установке соединения с объектом. |
|
Запускается при потере соединения с объектом. |
|
Запускается при нажатии определенной кнопки физического устройства. |
|
Запускается, когда отпущена определенная кнопка физического устройства. |
|
Запускается при начале прикосновения к тачпаду. |
|
Запускается при перемещении по тачпаду. |
|
Запускается при конце взаимодействия с тачпадом. |
- параметр Включен; enabled¶
Параметр, позволяющий приостановить обработку событий. Если объект отключен, события, генерируемые физическим устройством не обрабатываются. По умолчанию параметр имеет значение
false.Примечание
Важно понимать, что если объект выключен, то это не значит, что выключено физическое устройство, например, мышь. Операционная система по-прежнему будет обрабатывать сигналы, приходящие от устройства.
- событие Устройство включено; onEnable¶
Запускается при включении объекта.
- событие Устройство выключено; onDisable¶
Запускается при выключении объекта.
- событие Устройство подключено; onConnected¶
Запускается при установке соединения с объектом.
- событие Устройство отключено; onDisconnected¶
Запускается при потере соединения с объектом.
- событие Кнопка нажата; onButtonPush¶
Запускается при нажатии определенной кнопки физического устройства.
- Param buttonId:
идентификатор кнопки, запустившей событие.
- событие Кнопка отпущена; onButtonRelease¶
Запускается, когда отпущена определенная кнопка физического устройства.
- Param buttonId:
идентификатор кнопки, запустившей событие.
- событие Прикосновение началось; onTouchBegan¶
Запускается при начале прикосновения к тачпаду.
- Param Кнопка / buttonId – string:
кнопка.
- событие Прикосновение переместилось; onTouchMove¶
Запускается при перемещении по тачпаду.
- Param Кнопка / buttonId – string:
кнопка.
- событие Прикосновение завершено; onTouchEnded¶
Запускается при конце взаимодействия с тачпадом.
- Param Кнопка / buttonId – string:
кнопка.
Действие |
Описание |
|---|---|
Включает объект. |
|
Выключает объект. |
- действие Включить; enable(aFlag)¶
В соответствии с аргументом включает/выключает объект. Если объект до этого был выключен, то будет запущено событие Устройство включено (onEnable). Если до этого объект был включен, то будет запущено событие Устройство выключено (onDisable).
- Параметры:
aFlag – принимает значение
trueилиfalse. По умолчаниюtrue. При создании сценариев данный параметр опущен и принимает значение по умолчанию.
- действие Выключить; disable()¶
Выключает объект. Если до этого объект был включен, то будет запущено событие Устройство выключено (onDisable). При написании Lua-скриптов вызов метода
disableравносилен вызову методаenableс аргументомfalse.
Работа с интерактивным устройством¶
Особенности использования в сценарии¶
При создании сценариев с использованием объектов типа Интерактивное устройство (InteractiveDeviceBaseReactor), важно помнить, что если объект выключен, то никакие события приходить не будут. Типичной ошибкой в таком случае будет сценарий, изображенный ниже.

Здесь ожидается включение объекта Мышь (MouseReactor) при нажатии на левую кнопку, но если объект выключен, то событие нажатия не придет. Таким образом, данный сценарий работать не будет! Если вам необходимо выключить некоторое интерактивное устройство, то для его повторного включения используйте события, приходящие от других объектов в вашем проекте.
Advanced¶
Пример кода:
local mouse = reactorController:getReactorByName("Mouse")
local image = reactorController:getReactorByName("Image")
mouse:subscribeEvent("onEnable", function()
image:show()
end) -- подписываемся на событие onEnable
mouse:enable() -- включаем объект Мышь