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. Ein Area2D sendet body_entered, wenn ein Körper hineingeht. Es passiert nichts, bis Code darauf lauscht.
Um darauf 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 ausgelöst wird, 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
EinfachDie Funktion der Zone gibt Someone came in! aus, aber sie wird von nichts aufgerufen. Verbinde in _ready() body_entered mit _on_body_entered. Drücke Play und gehe mit den Pfeiltasten in die Zone.
Probier es selbst
extends Area2D
func _ready():
pass
func _on_body_entered(body):
print("Someone came in!")
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Signale und Kollisionen
Übe selbstständig: Godot-Playground