Мышь

объект Мышь; 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()

Запускается по двойному нажатию определенной кнопки физического устройства.

Parameters:buttonId – идентификатор кнопки, запустившей событие.

Note

До и после данного события всегда запускается событие Кнопка отпущена (onButtonRelease). Кроме того, в редких случаях, в самом начале может запускаться событие Кнопка нажата (onButtonPush). Таким образом, последовательность событий может быть следующей: Кнопка нажата (onButtonPush), Кнопка отпущена (onButtonRelease), Кнопка нажата дважды (onButtonDoubleClick), Кнопка отпущена (onButtonRelease).

Свойства, унаследованные от объекта Интерактивное устройство (InteractiveDeviceBaseReactor)

параметр Включен; onEnable

События, унаследованные от объекта Интерактивное устройство (InteractiveDeviceBaseReactor)

событие Включен; onEnable()
событие Выключен; onDisable()
событие Кнопка нажата; onButtonPush()
событие Кнопка отпущена; onButtonRelease()

Действия, унаследованные от объекта Интерактивное устройство (InteractiveDeviceBaseReactor)

действие Включить; enable(aFlag)
действие Выключить; disable()

Работа с мышью

Так как координаты мыши вычисляются в пространстве окна программы, удобнее всего поместить объект Мышь (MouseReactor) в Проекцию на экран. В таком случае смещение будет совпадать с курсором на экране. Если поместить объект Мышь (MouseReactor) в сцену, полученные координаты будут измеряться в метрах. Тем не менее, смещение по оси Oy будет по-прежнему принадлежать отрезку [-0.5, -0.5], а смещение по оси Ox - зависеть от соотношения сторон окна программы.

Стоит учитывать трансформацию, заданную узлом, в который будет помещен объект Мышь (MouseReactor). Смещение, масштабирование и поворот родительского объекта будут влиять на итоговое смещение объекта.

Не смотря на то что Мышь (MouseReactor) является производным типом от Система координат (TransformNodeReactor) и имеет все те же свойства, события и действия, стоит учитывать, что некоторые из них, например, масштабирования, не имеют практического смысла для данного объекта в силу его специфики.