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.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
Описания свойств
Возвращает true при использовании ластика на конце стилуса.
Примечание: Это свойство реализовано в Linux, macOS и Windows.
Представляет давление, которое пользователь оказывает на ручку. Диапазон от 0.0 до 1.0.
Vector2 relative = Vector2(0, 0) 🔗
Положение мыши относительно предыдущего положения (положение в последнем кадре).
Примечание: Поскольку InputEventMouseMotion может быть вызвано только при перемещении мыши, невозможно надежно определить, когда мышь прекратила движение, проверив это свойство. Может потребоваться отдельный короткий таймер.
Примечание: relation автоматически масштабируется в соответствии с коэффициентом масштабирования содержимого, который определяется настройками режима растяжения проекта. Это означает, что чувствительность мыши будет отличаться в зависимости от разрешения при использовании relation в скрипте, который обрабатывает прицеливание мыши с режимом мыши Input.MOUSE_MODE_CAPTURED. Чтобы избежать этого, используйте вместо этого screen_relative.
Vector2 screen_relative = Vector2(0, 0) 🔗
Немасштабированное положение мыши относительно предыдущего положения в системе координат экрана (положение в последнем кадре).
Примечание: Поскольку InputEventMouseMotion может быть выдано только при перемещении мыши, невозможно надежно определить, когда мышь прекратила движение, проверив это свойство. Может потребоваться отдельный короткий таймер.
Примечание: Эта координата не масштабируется в соответствии с коэффициентом масштабирования содержимого или вызовами InputEvent.xformed_by(). Это должно быть предпочтительнее, чем relative для наведения мыши при использовании режима мыши Input.MOUSE_MODE_CAPTURED, независимо от режима растяжения проекта.
Vector2 screen_velocity = Vector2(0, 0) 🔗
Немасштабированная скорость мыши в пикселях в секунду в экранных координатах. Эта скорость не масштабируется в соответствии с коэффициентом масштабирования содержимого или вызовами 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.