Rendre interactif un nœud

Pour se déplacer uniquement en appuyant sur ▲ il faut modifier le code qui calcule la vitesse.

  1. Décommenter le code et modifier la définition de la variable Velocity comme ci-dessous :

    var velocity = Vector2.ZERO
    if Input.is_action_pressed("ui_up"):
        velocity = Vector2.UP.rotated(rotation) * speed

    velocity récupère la valeur de Vector2. ZERO (un vecteur 2D de longueur 0).

  2. Exécuter la scène : Tourner avec les touches ◀ et ▶ et appuyer sur▲ (l’action ui_up est ainsi activée, ce qui met à jour la valeur de la vélocité, et donc fait avancer le sprite). Combiner l’appui des touches.

Vue du code dans l’éditeur Script :

Capture d’écran 2026-10-09 à 11.57.11

Résultat visuel

Ezgif 5ed3d49a2685acd4

Script complet
extends Sprite2D
var speed = 400
var angular_speed = PI
func _process(delta):
    var direction = 0
    if Input.is_action_pressed("ui_left"):
        direction = -1
    if Input.is_action_pressed("ui_right"):
        direction = 1
    rotation += angular_speed * direction * delta
    var velocity = Vector2.ZERO
    if Input.is_action_pressed("ui_up"):
        velocity = Vector2.UP.rotated(rotation) * speed
    position += velocity * delta
Observations

Chaque script dans Godot représente une classe et étend l’une des classes intégrées du moteur.

  • Les variables placées en haut du fichier sont les propriétés de votre classe, également appelées variables membres.
  • Outre les variables, vous pouvez définir des fonctions qui, pour la plupart, seront les méthodes de vos classes.

Godot fournit plusieurs fonctions virtuelles. Parmi lesquelles :

  • _process(), pour appliquer des modifications au nœud à chaque image
  • _unhandled_input(), pour recevoir des événements d’entrée comme des pressions de touches et de boutons de la part des utilisateurs

Le singleton Input vous permet de réagir aux entrées du joueur n’importe où dans votre code.