Aller au contenu

Leçon 7 - Ajouter des pièces à ramasser

Pour rendre le jeu plus amusant, on peut ajouter des pièces (ou objets) à ramasser.

Étape 1 : Créer une scène "Pièce"

  1. Créez une nouvelle scène.
  2. Ajoutez un nœud "Area2D" (pour détecter la collision avec le joueur).
  3. Ajoutez un nœud "Sprite2D" pour l'image de la pièce.
  4. Ajoutez un nœud "CollisionShape2D" pour la collision.
  5. Renommez la scène en "Coin" et enregistrez-la.
  6. Placez quelques pièces dans la scène principale.

Voici mon résultat du montage :

alt text

alt text

Étape 2 : Détecter la collecte

  1. Ajoutez un script au nœud "Area2D".
  2. Dans le nœud "Area2D", connectez le signal "body_entered". alt text
  3. Ajoutez un script simple pour faire disparaître la pièce quand le joueur la ramasse. alt text

Exemple de script :

1
2
3
func _on_body_entered(body: Node2D) -> void:
    print("Coin collected!")
    queue_free()
  1. Exécutez le jeu et testez la collecte des pièces.
  2. Mettez une pièce devant une plateforme mobile et remarquez le problème.
    • En effet, la pièce disparaît lorsque la plateforme touche la pièce. Pour éviter cela, on peut utiliser les masques de collision.
  3. Dans la scène du joueur, sélectionnez le nœud "CharacterBody2D" et dans l'inspecteur, sous "Collision", définissez le Collision Layer à 2 (Player).
  4. Dans la scène de la pièce, sélectionnez le nœud "Area2D" et dans l'inspecteur, sous "Collision", définissez le collision Mask à 2 (Player).

Exercices

  • Ajoutez des pièces dans les endroits stratégiques de votre niveau.
  • Ajoutez d'autres types d'objets à ramasser (ex : gemmes, power-ups).