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_enteredetbody_exited: un corps est entré ou sorti. Les corps sont des objets solides, commeCharacterBody2DetStaticBody2D.area_enteredetarea_exited: une autre zone est entrée ou sortie.
Une zone n’émet 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 n’importe quel nom.
Défi
FacileDeux étoiles tombent dans le panier, mais la Console reste vide. Le panier écoute le mauvais signal. Fais-le afficher Caught a star! pour chaque étoile.
Essayez vous-même
extends Area2D
func _ready():
body_entered.connect(_on_star_caught)
func _on_star_caught(star):
print("Caught a star!")
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Signaux et collisions
Entraînez-vous par vous-même : Playground Godot