Ebenen und Masken
Teil des Abschnitts Signale und Kollisionen der Godot-Journey von Coddy. Lektion 22 von 27.
Körper und Bereiche befinden sich auf nummerierten Kollisionsebenen. Für jedes gibt es zwei Einstellungen:
collision_layer: die Ebenen, auf denen es liegt.collision_mask: die Ebenen, die es prüft. Ein Bereich nimmt nur Körper wahr, die sich auf einer Ebene befinden, die in seiner Maske enthalten ist.
Beides sind Zahlen. Ebene 1 ist 1, Ebene 2 ist 2, Ebene 3 ist 4, Ebene 4 ist 8. Alles beginnt auf Ebene 1 mit Maske 1, daher nimmt alles alles wahr.
Hier befindet sich der Spieler auf Ebene 2 und der Korallenball auf Ebene 1. Damit nur der Spieler die Münze aufnehmen kann, prüft die Münze ausschließlich Ebene 2:
func _ready():
collision_mask = 2Aufgabe
MittelDer rollende Ball nimmt die Münze, bevor du es kannst. Setze in _ready() die collision_mask der Münze so, dass sie nur Layer 2 bemerkt, die Ebene des Spielers. Der Ball sollte durch die Münze rollen. Dann gehst du hin und nimmst sie.
Probier es selbst
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
queue_free()
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