Ein Signal verbinden
Teil des Abschnitts Signale und Kollisionen der Godot-Journey von Coddy. Lektion 2 von 27.
Ein Signal ist eine Nachricht, die ein Node sendet, wenn etwas passiert. Eine Area2D sendet body_entered, wenn ein Körper hineingeht. Es passiert nichts, bis ein Code darauf lauscht.
Um zu lauschen, verbindest du das Signal mit einer Funktion. Mach das einmal in _ready():
func _ready():
body_entered.connect(_on_body_entered)Das bedeutet: Wenn body_entered auftritt, rufe _on_body_entered auf. Godot ruft die Funktion dann jedes Mal auf, wenn ein Körper hineingeht.
Schreibe den Funktionsnamen ohne Klammern. _on_body_entered() würde die Funktion sofort aufrufen.
Aufgabe
EinfachSorge dafür, dass die Zone den Spieler bemerkt.
- Ersetze in
_ready()passdurch eine Zeile, diebody_enteredmit_on_body_enteredverbindet. - Schreibe den Funktionsnamen ohne Klammern dahinter.
Klicke auf „Spielen“ und gehe in die Zone: In der Konsole wird Someone came in! angezeigt. Klicke dann auf „Prüfen“.
Probier es selbst
extends Area2D
func _ready():
pass
func _on_body_entered(body):
print("Someone came in!")
Alle Lektionen in Signale und Kollisionen
Übe selbstständig: Godot-Playground