Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

InputEventMouseMotion

Hérite de : InputEventMouse < InputEventWithModifiers < InputEventFromWindow < InputEvent < Resource < RefCounted < Object

Représente une mouvement de souris ou de stylo.

Description

Stocke des informations sur un mouvement de souris ou de stylo. Cela comprend la position relative, la position absolue et la vitesse. Voir Node._input().

Note : Par défaut, cet événement n'est émis qu'une fois par trame rendue au maximum. Si vous avez besoin d'un suivi des entrées plus précis, définissez Input.use_accumulated_input à false pour faire que les événements soient émis le plus souvent possible. Si vous utilisez InputEventMouseMotion pour dessiner des lignes, envisagez d'aussi utiliser Geometry2D.bresenham_line() pour éviter les lacunes visibles dans les lignes si l'utilisateur déplace la souris rapidement.

Note : Cet événement peut être émis même lorsque la souris n'a pas bougé, que ce soit par le système d'exploitation ou par Godot lui-même. Si vous avez vraiment besoin de savoir si la souris a bougé (par exemple pour supprimer l'affichage d'une info-bulle), vous devez vérifier que relative.is_zero_approx() vaut false.

Tutoriels

Propriétés

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)


Descriptions des propriétés

bool pen_inverted = false 🔗

  • void set_pen_inverted(value: bool)

  • bool get_pen_inverted()

Renvoie true lors de l'utilisation de la gomme (l'autre extrémité) d'un stylet.

Note : Cette méthode est implémentée sous Linux, macOS et Windows.


float pressure = 0.0 🔗

  • void set_pressure(value: float)

  • float get_pressure()

Représente la pression que l'utilisateur applique sur le stylo. Va de 0.0 à 1.0.


Vector2 relative = Vector2(0, 0) 🔗

The mouse position relative to the previous position (position at the last frame).

Note: Since InputEventMouseMotion may only be emitted when the mouse moves, it is not possible to reliably detect when the mouse has stopped moving by checking this property. A separate, short timer may be necessary.

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) 🔗

  • void set_screen_relative(value: Vector2)

  • Vector2 get_screen_relative()

The unscaled mouse position relative to the previous position in the coordinate system of the screen (position at the last frame).

Note: Since InputEventMouseMotion may only be emitted when the mouse moves, it is not possible to reliably detect when the mouse has stopped moving by checking this property. A separate, short timer may be necessary.

Note: 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) 🔗

  • void set_screen_velocity(value: Vector2)

  • Vector2 get_screen_velocity()

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().

Note: In Input.MOUSE_MODE_CAPTURED mode, screen_velocity returns (0, 0) because the mouse cursor is hidden and locked. Use screen_relative for mouse aiming using the Input.MOUSE_MODE_CAPTURED mouse mode.


Vector2 tilt = Vector2(0, 0) 🔗

Représente les angles d'inclinaison du stylet. Une valeur en X positive indique une inclinaison à droite. Une valeur en Y positive indique une inclinaison vers l'utilisateur. Va de -1.0 à 1.0 pour les deux 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. That means mouse sensitivity may appear different depending on resolution.

Note: In Input.MOUSE_MODE_CAPTURED mode, velocity returns (0, 0) because the mouse cursor is hidden and locked. Use screen_relative for mouse aiming using the Input.MOUSE_MODE_CAPTURED mouse mode.