Menu
CoddyTech

Einen Knoten entfernen

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

Eine Münze, die du aufgesammelt hast, sollte verschwunden und nicht versteckt sein, damit nichts sie erneut berühren kann. queue_free() entfernt einen Knoten und alle seine Kinder aus dem Spiel:

func _on_body_entered(body):
	queue_free()

Wird queue_free() für sich allein aufgerufen, entfernt es den Knoten, auf dem sich das Skript befindet, hier also die Münze.

Der Name enthält „queue“, weil Godot den Knoten am Ende des aktuellen Frames freigibt, nicht sofort. Bis dahin kann anderer Code den Knoten noch verwenden. In einigen Lektionen wirst du sehen, warum das wichtig ist.

challenge icon

Aufgabe

Einfach

Lass die Münze verschwinden, wenn du gegen sie läufst.

  1. Ersetze in _on_body_entered pass.
  2. Gib die Münze mit queue_free() frei.

Drücke „Spielen“ und laufe gegen die Münze: Sie ist verschwunden. Drücke dann „Prüfen“.

Probier es selbst

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	pass

Alle Lektionen in Signale und Kollisionen

Übe selbstständig: Godot-Playground