Les zones détectent les corps
Fait partie de la section Signaux et collisions du Journey Godot de Coddy. Leçon 1 sur 27.
Un Area2D est une zone qui détecte ce qui y entre.
Un Area2D a besoin d’un enfant CollisionShape2D. La forme définit la taille de la zone, ici le rectangle vert. Les corps traversent une zone. Ils ne la heurtent pas.
Quand un corps entre, la zone envoie un signal appelé body_entered. Le script de cette zone l’écoute :
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")_on_body_entered s’exécute chaque fois qu’un corps entre dans la forme. La prochaine leçon explique la ligne connect. Le robot est un corps, mais il se déplace le long de y = 250, sous la zone.
Défi
FacilePlace la zone sur le chemin du robot.
- Le robot se déplace le long de
y = 250. Dans_ready(), définisposition.yde la zone sur250. - Laisse la ligne
connecttelle quelle.
Appuie sur « Jouer » : lorsque le robot entre dans la zone, la Console affiche Welcome to the zone!. Puis appuie sur « Vérifier ».
Essayez vous-même
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")
Toutes les leçons de Signaux et collisions
Entraînez-vous par vous-même : Playground Godot