View on GitHub

Journal de développement - Mon RPG Zelda

Suivi du développement de mon jeu de type Zelda avec Godot Engine

🖥️ Créer un HUD simple avec CanvasLayer + Label

Dans ce guide, on va apprendre à créer un HUD basique dans Godot 4.4, avec un CanvasLayer contenant un Label, pour afficher des messages simples comme “+1 Pomme” ou “Clé obtenue 🔑”.


🎯 Objectif


🧱 Étapes de construction

1️⃣ Crée une nouvelle scène HUD.tscn

  1. Node principal : CanvasLayer → nomme-le HUD
  2. Enfant : Label → nomme-le MessageLabel

💡 Le CanvasLayer permet de garder l’interface visible, même si la caméra bouge.


2️⃣ Positionne le Label


3️⃣ Ajoute un script HUD.gd

extends CanvasLayer

@onready var message_label = $MessageLabel

func afficher_message(texte: String):
	message_label.text = texte

4️⃣ Instancie le HUD dans ta scène principale

Dans MainScene.tscn, ajoute un Node HUD si ce n’est pas déjà fait.
Tu peux aussi instancier la scène HUD.tscn via l’éditeur ou par code.


5️⃣ Appelle le HUD depuis un autre script

Par exemple, dans le script de la pomme :

func _on_body_entered(body):
	if body.name == "Player":
		var hud = get_tree().root.get_node("MainScene/HUD")
		hud.afficher_message("🍏 +1 Pomme")

⚠️ Attention à bien adapter le chemin "MainScene/HUD" à ton propre projet.


💡 Astuce bonus

Tu peux ajouter un Timer pour effacer le message après 2 secondes :

func afficher_message(texte: String):
	message_label.text = texte
	await get_tree().create_timer(2.0).timeout
	message_label.text = ""

🧪 Exercices


👩‍💻 Écrit par : Lysdora
🎮 Projet : mon-rpg-zelda