Das Signal eines anderen Nodes
Teil des Abschnitts Signale und Kollisionen der Godot-Journey von Coddy. Lektion 9 von 27.
Ein Skript kann auch das Signal eines anderen Knotens empfangen. Rufe den Knoten mit $ ab und verbinde dann sein Signal:
$Switch.body_entered.connect(_on_switch_body_entered)Das bedeutet: Wenn Switch body_entered sendet, rufe _on_switch_body_entered auf. Die Funktion befindet sich in diesem Skript und kann daher die Knoten dieses Skripts verwenden, etwa $Light.
Spiele sind oft auf diese Weise verdrahtet. Ein Hauptskript verbindet den Schalter, das Licht und die Tür, und jeder dieser Knoten bleibt einfach. Godot benennt solche Funktionen mit _on_, gefolgt vom Knoten und dann dem Signal.
Aufgabe
EinfachMain verfügt über eine Funktion, die das Licht einschaltet, aber nichts ruft sie auf. Verbinde in Mains _ready() das body_entered des Switch mit _on_switch_body_entered. Tritt dann auf den grünen Schalter.
Probier es selbst
extends Node2D
func _ready():
pass
func _on_switch_body_entered(body):
$Light.visible = true
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