InputEventMouseMotion

Наследует: InputEventMouse < InputEventWithModifiers < InputEventFromWindow < InputEvent < Resource < RefCounted < Object

Представляет собой движение мыши или пера.

Описание

Сохраняет информацию о движении мыши или пера. Сюда входит относительное положение, абсолютное положение и скорость. См. Node._input().

Примечание: По умолчанию это событие генерируется только один раз за отрисованный кадр. Если вам нужна более точная отчетность о вводе, установите Input.use_accumulated_input на false, чтобы события генерировались как можно чаще. Если вы используете InputEventMouseMotion для рисования линий, рассмотрите возможность использования Geometry2D.bresenham_line(), чтобы избежать видимых пробелов в линиях, если пользователь быстро перемещает мышь.

Примечание: Это событие может генерироваться, даже если мышь не двигалась, как операционной системой, так и самим Godot. Если вам действительно нужно знать, переместилась ли мышь (например, чтобы отключить отображение подсказки), вам следует проверить, что relative.is_zero_approx() равно false.

Обучающие материалы

Свойства

bool

pen_inverted

false

float

pressure

0.0

Vector2

relative

Vector2(0, 0)

Vector2

screen_relative

Vector2(0, 0)

Vector2

screen_velocity

Vector2(0, 0)

Vector2

tilt

Vector2(0, 0)

Vector2

velocity

Vector2(0, 0)


Описания свойств

bool pen_inverted = false 🔗

  • void set_pen_inverted(value: bool)

  • bool get_pen_inverted()

Возвращает true при использовании ластика на конце стилуса.

Примечание: Это свойство реализовано в Linux, macOS и Windows.


float pressure = 0.0 🔗

  • void set_pressure(value: float)

  • float get_pressure()

Представляет давление, которое пользователь оказывает на ручку. Диапазон от 0.0 до 1.0.


Vector2 relative = Vector2(0, 0) 🔗

Положение мыши относительно предыдущего положения (положение в последнем кадре).

Примечание: Поскольку InputEventMouseMotion может быть вызвано только при перемещении мыши, невозможно надежно определить, когда мышь прекратила движение, проверив это свойство. Может потребоваться отдельный короткий таймер.

Примечание: relation автоматически масштабируется в соответствии с коэффициентом масштабирования содержимого, который определяется настройками режима растяжения проекта. Это означает, что чувствительность мыши будет отличаться в зависимости от разрешения при использовании relation в скрипте, который обрабатывает прицеливание мыши с режимом мыши Input.MOUSE_MODE_CAPTURED. Чтобы избежать этого, используйте вместо этого screen_relative.


Vector2 screen_relative = Vector2(0, 0) 🔗

  • void set_screen_relative(value: Vector2)

  • Vector2 get_screen_relative()

Немасштабированное положение мыши относительно предыдущего положения в системе координат экрана (положение в последнем кадре).

Примечание: Поскольку InputEventMouseMotion может быть выдано только при перемещении мыши, невозможно надежно определить, когда мышь прекратила движение, проверив это свойство. Может потребоваться отдельный короткий таймер.

Примечание: Эта координата не масштабируется в соответствии с коэффициентом масштабирования содержимого или вызовами InputEvent.xformed_by(). Это должно быть предпочтительнее, чем relative для наведения мыши при использовании режима мыши Input.MOUSE_MODE_CAPTURED, независимо от режима растяжения проекта.


Vector2 screen_velocity = Vector2(0, 0) 🔗

  • void set_screen_velocity(value: Vector2)

  • Vector2 get_screen_velocity()

Немасштабированная скорость мыши в пикселях в секунду в экранных координатах. Эта скорость не масштабируется в соответствии с коэффициентом масштабирования содержимого или вызовами InputEvent.xformed_by().

Примечание: Используйте screen_relative для прицеливания мыши с использованием режима Input.MOUSE_MODE_CAPTURED.


Vector2 tilt = Vector2(0, 0) 🔗

Представляет углы наклона пера. Положительное значение координаты X указывает на наклон вправо. Положительное значение координаты Y указывает на наклон в сторону пользователя. Диапазон от -1.0 до 1.0 для обеих осей.


Vector2 velocity = Vector2(0, 0) 🔗

Скорость мыши в пикселях в секунду.

Примечание: velocity автоматически масштабируется в соответствии с коэффициентом масштабирования контента, который определяется настройками режима растяжения проекта. Это означает, что чувствительность мыши может отличаться в зависимости от разрешения.

Примечание: Используйте screen_relative для наведения мыши с использованием режима мыши Input.MOUSE_MODE_CAPTURED.