Menu
CoddyTech

Die verschlossene Tür

Teil des Abschnitts Projekte der Godot-Journey von Coddy. Lektion 28 von 33.

Eine Door versperrt den Weg zur Treppe. Sie ist ein StaticBody2D, daher hält move_and_slide den Helden an ihr auf. Davor befindet sich DoorZone, ein Area2D, das etwas breiter als die Tür ist, damit der Held es zuerst erreicht.

Wenn der Held mit dem Schlüssel in die Zone läuft, öffnet sich die Tür:

func _on_door_zone_body_entered(body):
	if has_key:
		$Door.queue_free()
		$DoorZone.queue_free()

Entferne auch die Zone. Andernfalls läuft der Held wieder hinein, $Door existiert nicht mehr und das Spiel wird mit Node not found angehalten.

Entferne die Tür mit queue_free(). hide() beendet nur das Zeichnen. Ihre Kollisionsform würde den Helden weiterhin blockieren.

challenge icon

Aufgabe

Mittel

Verbinde in main.gd $DoorZone.body_entered. Wenn ein Körper eintritt und has_key wahr ist, entferne $Door und $DoorZone.

Probier es selbst

extends Node2D

var has_key = false

func _ready():
	$Key.body_entered.connect(_on_key_body_entered)

func _on_key_body_entered(body):
	has_key = true
	$Key.queue_free()
	$HUD/KeyIcon.visible = true
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 Projekte

Übe selbstständig: Godot-Playground