Déplacer avec du code un nœud

Par rapport à l’étape précédente,

  1. supprimer la fonction _init() afin qu’il ne reste plus que la ligne extends Sprite2D.

  2. Créer 2 variables au script :speed est définie comme la vitesse de déplacement en pixels par seconde et angular comme la vitesse angulaire en radians par seconde :

    var speed=400
    var angular_speed = PI
  3. Pour déplacer l’icône, il faut mettre à jour sa position et sa rotation à chaque image dans la boucle de jeu. Nous pouvons utiliser la fonction virtuelle _process() de la classe Node. Si vous la définissez dans une classe qui étend la classe Node, comme Sprite2D, Godot appellera cette fonction à chaque image et lui transmettra un argument nommé delta, correspondant au temps écoulé depuis la dernière image.

    Dans le jeu, écrire ces lignes pour incrémenter la rotation de notre sprite à chaque image.

    func _process(delta):
     rotation += angular_speed * delta

Ce qui donne pour le code en entier (sprite_2D-00gd):

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

Lancer la scène : l’icône Godot tourner sur place.

Ezgif 52d680d8b6c37c23

Script complet :

extends Sprite2D
var speed=400
var angular_speed = PI
func _process(delta):
    rotation += angular_speed * delta

Observations

  • Dans Godot, les angles sont exprimés en radians par défaut, mais des fonctions et propriétés intégrées sont disponibles si vous préférez calculer les angles en degrés.
  • Les jeux fonctionnent en affichant de nombreuses images par seconde, appelées images (frames), et ce, dans une boucle. On mesure la cadence à laquelle un jeu produit des images en images par seconde (FPS). La plupart des jeux visent les 60 FPS, bien que l’on puisse observer des valeurs telles que 30 FPS sur des appareils mobiles plus lents ou entre 90 et 240 pour les jeux en réalité virtuelle.
  • Quand des variables comme speed sont déclarées avant l’écriture de fonction, en début de script, chaque instance de nœud à laquelle ce script est associé disposera de sa propre copie des propriétés définies par ces variables.
  • Ici, rotation est une propriété héritée de la classe Node2D, dont Sprite2D est une extension. Elle contrôle la rotation de notre nœud et fonctionne en radians.
  • Les développeurs du moteur et du jeu font de leur mieux pour mettre à jour l’univers du jeu et afficher les images à un intervalle de temps constant, mais il existe toujours de légères variations dans les temps d’affichage des images. C’est pourquoi le moteur nous fournit cette valeur de temps delta, rendant ainsi notre mouvement indépendant de notre fréquence d’images.
  • Le mot-clé func définit une nouvelle fonction. Il est suivi du nom de la fonction et des arguments qu’elle prend, entre parenthèses. Un deux-points clôt la définition, et les blocs en retrait qui suivent constituent le corps de la fonction, c’est-à-dire ses instructions.
  • _process(), tout comme _init(), commence par un trait de soulignement. Par convention, les fonctions virtuelles de Godot, c’est-à-dire les fonctions intégrées que vous pouvez redéfinir pour communiquer avec le moteur, commencent par un trait de soulignement.