Мышь

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

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

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

Примечание

До и после данного события всегда запускается событие Кнопка отпущена (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) и имеет все те же свойства, события и действия, стоит учитывать, что некоторые из них, например, масштабирования, не имеют практического смысла для данного объекта в силу его специфики.