Menu
CoddyTech

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.

challenge icon

Défi

Facile

Place la zone sur le chemin du robot.

  1. Le robot se déplace le long de y = 250. Dans _ready(), définis position.y de la zone sur 250.
  2. Laisse la ligne connect telle 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