Menu
CoddyTech

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 = 2
challenge icon

Aufgabe

Mittel

Der 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()
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