Мышь¶
-
объект
Мышь;MouseReactor¶
Производный объект от:
Мышь - объект, который содержит информацию о положении курсора и нажатиях на кнопки физического устройства (мышь, трекпад, тачпад и т.д.), подключенного к компьютеру. Положение курсора определяется в двумерной системе координат Oxy, начало отсчета которой располагается в центре окна программы. По вертикали (ось Oy) смещение всегда принадлежит отрезу [-0.5, 0.5]. По горизонтали (ось Ox) смещение не ограничено, но максимальное значение определяется соотношением сторон окна, в котором запущена программа. Таким образом, в квадратном окне смещение по горизонтали будет в отрезке [-0.5, 0.5], а в окне с соотношением сторон 2:1 смещение по горизонтали будет уже в отрезке [-1.0, 1.0].
Обзор возможностей¶
| ID кнопки | Описание |
|---|---|
| LEFT_MOUSE_BUTTON | Левая кнопка мыши. |
| RIGHT_MOUSE_BUTTON | Правая кнопка мыши. |
| MIDDLE_MOUSE_BUTTON | Средняя кнопка мыши (обычно, колесико). |
| Событие | Описание |
|---|---|
| Кнопка нажата дважды (onButtonDoubleClick) | Запускается по двойному нажатию определенной кнопки физического устройства. |
-
событие
Кнопка нажата дважды;onButtonDoubleClick¶ Запускается по двойному нажатию определенной кнопки физического устройства.
Param buttonId: идентификатор кнопки, запустившей событие. Note
До и после данного события всегда запускается событие Кнопка отпущена (onButtonRelease). Кроме того, в редких случаях, в самом начале может запускаться событие Кнопка нажата (onButtonPush). Таким образом, последовательность событий может быть следующей: Кнопка нажата (onButtonPush), Кнопка отпущена (onButtonRelease), Кнопка нажата дважды (onButtonDoubleClick), Кнопка отпущена (onButtonRelease).
Унаследованные методы и события¶
Т.к. объект Мышь является производным от Интерактивное устройство (InteractiveDeviceBaseReactor), то он наследует от него все действия и события.
-
событие
Устройство включено;onEnable¶ Запускается при включении объекта.
-
событие
Устройство выключено;onDisable¶ Запускается при выключении объекта.
-
событие
Устройство подключено;onConnected¶ Запускается при установке соединения с объектом.
-
событие
Устройство отключено;onDisconnected¶ Запускается при потере соединения с объектом.
-
событие
Кнопка нажата;onButtonPush¶ Запускается при нажатии определенной кнопки физического устройства.
Param buttonId: идентификатор кнопки, запустившей событие.
-
событие
Кнопка отпущена;onButtonRelease¶ Запускается, когда отпущена определенная кнопка физического устройства.
Param buttonId: идентификатор кнопки, запустившей событие.
-
событие
Прикосновение началось;onTouchBegan¶ Запускается при начале прикосновения к тачпаду.
Param Кнопка / buttonId – string: кнопка.
-
событие
Прикосновение переместилось;onTouchMove¶ Запускается при перемещении по тачпаду.
Param Кнопка / buttonId – string: кнопка.
-
событие
Прикосновение завершено;onTouchEnded¶ Запускается при конце взаимодействия с тачпадом.
Param Кнопка / buttonId – string: кнопка.
| Действие | Описание |
|---|---|
| Включить (enable) | Включает объект. |
| Выключить (disable) | Выключает объект. |
-
действие
Включить;enable(aFlag)¶ В соответствии с аргументом включает/выключает объект. Если объект до этого был выключен, то будет запущено событие Устройство включено (onEnable). Если до этого объект был включен, то будет запущено событие Устройство выключено (onDisable).
Parameters: aFlag – принимает значение trueилиfalse. По умолчаниюtrue. При создании сценариев данный параметр опущен и принимает значение по умолчанию.
-
действие
Выключить;disable()¶ Выключает объект. Если до этого объект был включен, то будет запущено событие Устройство выключено (onDisable). При написании Lua-скриптов вызов метода
disableравносилен вызову методаenableс аргументомfalse.
Работа с мышью¶
Так как координаты мыши вычисляются в пространстве окна программы, удобнее всего поместить объект Мышь (MouseReactor) в Проекция на экран (HudReactor). В таком случае смещение будет совпадать с курсором на экране. Если поместить объект Мышь (MouseReactor) в сцену, полученные координаты будут измеряться в метрах. Тем не менее, смещение по оси Oy будет по-прежнему принадлежать отрезку [-0.5, 0.5], а смещение по оси Ox - зависеть от соотношения сторон окна программы.
Стоит учитывать трансформацию, заданную узлом, в который будет помещен объект Мышь (MouseReactor). Смещение, масштабирование и поворот родительского объекта будут влиять на итоговое смещение объекта.
Несмотря на то, что Мышь (MouseReactor) является производным типом от Система координат (TransformNodeReactor) и имеет все те же свойства, события и действия, стоит учитывать, что некоторые из них, например, масштабирование, не имеют практического смысла для данного объекта в силу его специфики.