Menu
CoddyTech

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.

challenge icon

Aufgabe

Einfach

Sorge dafür, dass die Zone den Spieler bemerkt.

  1. Ersetze in _ready() pass durch eine Zeile, die body_entered mit _on_body_entered verbindet.
  2. 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