Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Les coordonnées de la souris

À propos

La raison de ce petit tutoriel est d'éclaircir de nombreuses erreurs courantes concernant les coordonnées d'entrée, l'obtention de la position de la souris et la résolution de l'écran, etc.

Coordonnées d'affichage matériel

L'utilisation des coordonnées matérielles est logique dans le cas de l'écriture d'interfaces utilisateur complexes destinées à fonctionner sur PC, telles que des éditeurs, des MMO, des outils, etc. Cependant, cela n'a pas autant de sens en dehors de ce cadre.

Coordonnées d'affichage du viewport

Godot utilise les viewports pour afficher du contenu, et les viewports peuvent être mis à l'échelle par plusieurs options (voir le tutoriel Résolutions multiples). Utilisez ensuite les fonctions dans les nœuds pour obtenir les coordonnées de la souris et la taille de la fenêtre, par exemple :

func _input(event):
   # Mouse in viewport coordinates.
   if event is InputEventMouseButton:
       print("Mouse Click/Unclick at: ", event.position)
   elif event is InputEventMouseMotion:
       print("Mouse Motion at: ", event.position)

   # Print the size of the viewport.
   print("Viewport Resolution is: ", get_viewport().get_visible_rect().size)

Il est également possible de demander au viewport la position de la souris :

get_viewport().get_mouse_position()

Note

When the mouse mode is set to Input.MOUSE_MODE_CAPTURED, the event.position value from InputEventMouseMotion is the center of the screen. Use event.relative instead of event.position and event.velocity to process mouse movement and position changes.