Créer un nouveau projet pour repartir de zéro. Votre projet doit contenir une image comme ici l’icône Godot…
Dans le volet Scène, cliquez sur le bouton Autre nœud.
Il faut créer un nœud Sprite2D pour l’afficher dans le jeu. Taper Sprite2D dans la barre de recherche pour filtrer les nœuds, puis double-cliquer sur Sprite2D pour créer le nœud.

Cliquer sur la flèche vers le bas à côté, choisir Charger, sélectionner le fichier icon.svg

Ensuite, cliquez sur l’icône dans la fenêtre d’affichage et faites-la glisser pour la centrer dans la vue du jeu.

Faire un clic droit sur Sprite2D dans le volet Scène et choisir Attacher un Script.

La fenêtre Attacher un Script au Nœud s’affiche. Elle permet de sélectionner le langage du script et le chemin d’accès au fichier.

Modifiez la valeur du champ Modèle en passant de Node : Default
à Object : Empty
pour partir d’un fichier vierge. Puis choisir Créer
L’espace de travail Script devrait s’afficher avec votre nouveau fichier sprite_2d.gd ouvert et la ligne de code suivante :
extends Sprite2D
Chaque fichier GDScript est implicitement une classe. Le mot-clé extends
définit la classe dont ce script hérite ou qu’il étend. Ainsi, le script aura accès à toutes les propriétés et fonctions du nœud Sprite2D, y compris celles des classes dont il est l’extension, telles que Node2D, CanvasItem et Node.
Les propriétés héritées incluent celles que vous pouvez voir dans le dock de l’Inspecteur, comme la texture de notre nœud.

Dans le code GDScript, les propriétés écrites en majuscules avec des espaces dans l’Inspecteur sont à appeler en minuscules avec chaque mot séparé par underscore (tiret du bas). ainsi la propriété Flip V dans l’inspecteur devient flip_v
Passer la souris sur le nom sur le nom d’une propriété dans l’Inspecteur affiche sa description en code.

Ajouter au script ces lignes pour afficher le texte Hello, Gamer !
dans l’onglet Sortiedu panneau inférieur de l’éditeur :
func _init():
print(« Hello, Gamer ! »)func définit une nouvelle fonction nommée _init qui est le constructeur de notre classe. Le moteur appelle _init() sur chaque objet ou nœud dès sa création en mémoire, si vous définissez cette fonction.

GDScript est un langage basé sur l’indentation. La tabulation au début de la ligne contenant print()
est indispensable au bon fonctionnement du code. Si elle n’est pas présente, il y aura ce message d’erreur suivant : Indented block expected :

Enregistrer la scène sous le nom sprite_2d.tscn puis jouer-la. Dans le panneau inférieur Sortie devrait s’afficher Hello, Gamer
.

Supprimer la fonction _init() afin qu’il ne reste plus que la ligne extends Sprite2D.
Juste après, 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 = PINB : Comme elles sont déclarées avant l’écriture de fonction, en dbut 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.
Remarque
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.
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 * deltaLancer la scène : l’icône Godot tourner sur place.

Ajouter les deux lignes suivantes à l’intérieur de la fonction _process() (en veillant à ce que les nouvelles lignes soient indentées de la même manière que la ligne rotation += angular_speed * delta qui les précède.)
var velocity = Vector2. UP.rotated(rotation) * speed
position += velocity * deltaLancer la scène pour voir la tête Godot courir en cercles

Déplacer un nœud de cette manière ne tient pas compte des collisions avec les murs ou le sol. Et pour l’instant, le nœud se déplace tout seul.
Dupliquer le script précédent, en faisant un clic droit dans la palette Système de fichiers à gauche sur le nom du fichier script sprite_2D.gd. Nommer le nouveau script sprite_2D-01.gd.
Puis faire un clic droit sur sprite_2D.tscn, la scène, pour choisir Modification des dépendances

choisir de charger à la place du nom diu précédent script le nouveau sprite_2D-01.gd

Pour mettre en commentaires les lignes :
var velocity = Vector2. UP.rotated(rotation) * speed
position += velocity * deltail faut rajouter le signe # au début des lignes de code (comme en langage python)
#var velocity = Vector2. UP.rotated(rotation) * speed
#position += velocity * delta2 outils principaux permettent de traiter les données du joueur dans Godot :
Les rappels d’entrée intégrés, principalement _unhandled_input(). cette fonction virtuelle intégrée est appellée par Godot à chaque fois que le joueur appuie sur une touche. C’est l’outil que vous voulez utiliser pour réagir aux événements qui ne se produisent pas à chaque image, comme appuyer sur Espace pour sauter (voir Utilisation d’InputEvent)
Le singleton Input. Un singleton est un objet accessible à tous. Godot donne accès à plusieurs d’entre eux dans les scripts. C’est le bon outil pour vérifier l’entrée à chaque image.
Utiliser le singleton Input ici permet de savoir si le joueur veut tourner ou bouger à chaque image. Pour le tourner, il fauts utiliser une nouvelle variable : direction.
Dans la fonction _process(), remplacez la ligne rotation += angular_speed * delta, surligné ci-dessous :

Et mettre à la place le code ci-dessous.
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 * deltaNB : Les deux actions utiliséesui_left et ui_right, sont prédéfinies dans chaque projet Godot. Elles se déclenchent respectivement lorsque le joueur appuie sur les flèches gauche et droite du clavier ou sur les flèches gauche et droite du D-pad d’une manette.
Explications
Pour produire ces valeurs, nous introduisons des instructions conditionnelles et l’utilisation de Input. Une instruction conditionnelle commence par le mot-clé if en GDScript et se termine par deux points. L’instruction conditionnelle est précisément l’expression entre le mot-clé et les deux-points à la fin de la ligne.
Pour vérifier si une touche a été enfoncée dans cette image, nous appelons Input.is_action_pressed(). Cette méthode prend une chaîne de texte représentant une action d’entrée et renvoie true si l’action est pressée, false sinon.
direction comme multiplicateur lorsque nous mettons à jour le nœud rotation : rotation += angular_speed * direction * delta.Votre nouveau contenu