Menu
CoddyTech

Bereiche erkennen Körper

Teil des Abschnitts Signale und Kollisionen der Godot-Journey von Coddy. Lektion 1 von 27.

Ein Area2D ist eine Zone, die bemerkt, was hineingeht.

Ein Area2D benötigt ein untergeordnetes CollisionShape2D. Die Form legt die Größe der Zone fest, hier den grünen Kasten. Körper gehen durch eine Zone hindurch. Sie stoßen nicht mit ihr zusammen.

Wenn ein Körper hineingeht, sendet die Zone ein Signal namens body_entered. Das Skript dieser Zone lauscht darauf:

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	print("Welcome to the zone!")

_on_body_entered wird jedes Mal ausgeführt, wenn ein Körper in die Form hineingeht. In der nächsten Lektion wird die Zeile mit connect erklärt. Der Roboter ist ein Körper, aber er bewegt sich entlang y = 250, unterhalb der Zone.

challenge icon

Aufgabe

Einfach

Platziere die Zone auf dem Weg des Roboters.

  1. Der Roboter läuft entlang y = 250. Setze in _ready() die position.y der Zone auf 250.
  2. Lass die Zeile connect unverändert.

Drücke „Spielen“: Wenn der Roboter hineingeht, zeigt die Konsole Welcome to the zone! an. Drücke dann „Prüfen“.

Probier es selbst

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	print("Welcome to the zone!")

Alle Lektionen in Signale und Kollisionen

Übe selbstständig: Godot-Playground