Up to date
This page is up to date for Godot 4.3
.
If you still find outdated information, please open an issue.
InputEventMouseMotion¶
Inherits: InputEventMouse < InputEventWithModifiers < InputEventFromWindow < InputEvent < Resource < RefCounted < Object
Represents a mouse or a pen movement.
Description¶
Stores information about a mouse or a pen motion. This includes relative position, absolute position, and velocity. See Node._input.
Note: By default, this event is only emitted once per frame rendered at most. If you need more precise input reporting, set Input.use_accumulated_input to false
to make events emitted as often as possible. If you use InputEventMouseMotion to draw lines, consider implementing Bresenham's line algorithm as well to avoid visible gaps in lines if the user is moving the mouse quickly.
Tutorials¶
Properties¶
|
||
|
||
|
||
|
||
|
||
|
||
|
Property Descriptions¶
Returns true
when using the eraser end of a stylus pen.
Note: This property is implemented on Linux, macOS and Windows.
Represents the pressure the user puts on the pen. Ranges from 0.0
to 1.0
.
Vector2 relative = Vector2(0, 0)
🔗
The mouse position relative to the previous position (position at the last frame).
Note: Since InputEventMouseMotion is only emitted when the mouse moves, the last event won't have a relative position of Vector2(0, 0)
when the user stops moving the mouse.
Note: relative is automatically scaled according to the content scale factor, which is defined by the project's stretch mode settings. This means mouse sensitivity will appear different depending on resolution when using relative in a script that handles mouse aiming with the Input.MOUSE_MODE_CAPTURED mouse mode. To avoid this, use screen_relative instead.
Vector2 screen_relative = Vector2(0, 0)
🔗
The unscaled mouse position relative to the previous position in the coordinate system of the screen (position at the last frame).
Note: Since InputEventMouseMotion is only emitted when the mouse moves, the last event won't have a relative position of Vector2(0, 0)
when the user stops moving the mouse. This coordinate is not scaled according to the content scale factor or calls to InputEvent.xformed_by. This should be preferred over relative for mouse aiming when using the Input.MOUSE_MODE_CAPTURED mouse mode, regardless of the project's stretch mode.
Vector2 screen_velocity = Vector2(0, 0)
🔗
The unscaled mouse velocity in pixels per second in screen coordinates. This velocity is not scaled according to the content scale factor or calls to InputEvent.xformed_by. This should be preferred over velocity for mouse aiming when using the Input.MOUSE_MODE_CAPTURED mouse mode, regardless of the project's stretch mode.
Vector2 tilt = Vector2(0, 0)
🔗
Represents the angles of tilt of the pen. Positive X-coordinate value indicates a tilt to the right. Positive Y-coordinate value indicates a tilt toward the user. Ranges from -1.0
to 1.0
for both axes.
Vector2 velocity = Vector2(0, 0)
🔗
The mouse velocity in pixels per second.
Note: velocity is automatically scaled according to the content scale factor, which is defined by the project's stretch mode settings. This means mouse sensitivity will appear different depending on resolution when using velocity in a script that handles mouse aiming with the Input.MOUSE_MODE_CAPTURED mouse mode. To avoid this, use screen_velocity instead.