Menu
CoddyTech

Münzsammler: Gesammelt

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

main.gd enthält die Regeln des Spiels, zum Beispiel, wie viele Münzen noch übrig sind. Main muss von jeder Münze erfahren, die du einsammelst. Deshalb sendet jede Münze ein Signal, und Main hört auf alle diese Signale.

Deklariere in coin.gd signal collected und löse das Signal aus, unmittelbar bevor die Münze sich selbst freigibt:

if body.is_in_group("player"):
	collected.emit()
	queue_free()

Verbinde in main.gd jede Münze in der Gruppe, so wie du es mit den Stacheln gemacht hast:

for coin in get_tree().get_nodes_in_group("coins"):
	coin.collected.connect(_on_coin_collected)

Das funktioniert in Mains _ready(), weil Godot die untergeordneten Elemente vor ihrem übergeordneten Element bereit macht. Zu diesem Zeitpunkt ist jede Münze der Gruppe beigetreten.

challenge icon

Aufgabe

Mittel

Diesmal sind zwei Skripte nötig:

  1. coin.gd: Deklariere signal collected und löse es vor queue_free() aus.
  2. main.gd: Verbinde in _ready() die collected-Signale aller Münzen mit einer neuen Funktion _on_coin_collected(), die Got a coin! ausgibt.

Probier es selbst

extends Node2D

func _ready():
	pass
quiz iconTeste dich selbst

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