Menu
CoddyTech

Les zones se rencontrent

Fait partie de la section Signaux et collisions du Journey Godot de Coddy. Leçon 6 sur 27.

Les nœuds de Godot sont dotés de signaux intégrés. Un Area2D en possède quatre que tu utiliseras souvent :

  • body_entered et body_exited : un corps est entré ou est sorti. Les corps sont des objets solides, comme CharacterBody2D et StaticBody2D.
  • area_entered et area_exited : une autre zone est entrée ou est sortie.

Une zone n’envoie jamais body_entered pour une autre zone. Les étoiles qui tombent sont des zones, donc le panier a besoin de area_entered :

func _ready():
	area_entered.connect(_on_star_caught)

La fonction reçoit la zone qui est entrée ; elle prend donc une valeur, comme _on_body_entered(body). Tu peux lui donner le nom que tu veux.

challenge icon

Défi

Facile

Fais en sorte que le panier détecte les étoiles qui tombent.

  1. Les étoiles sont des zones, pas des corps. Dans _ready(), connecte area_entered à la place de body_entered.
  2. Conserve _on_star_caught comme fonction.

Appuie sur « Jouer » : la console affiche Caught a star! deux fois, une fois par étoile. Puis appuie sur « Vérifier ».

Essayez vous-même

extends Area2D

func _ready():
	body_entered.connect(_on_star_caught)

func _on_star_caught(star):
	print("Caught a star!")

Toutes les leçons de Signaux et collisions

Entraînez-vous par vous-même : Playground Godot