Menu
CoddyTech

La porta chiusa a chiave

Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 28 di 33.

Una Door blocca il passaggio verso le scale. È un StaticBody2D, quindi move_and_slide ferma l’eroe quando ci arriva. Davanti c’è DoorZone, un’Area2D un po’ più larga della porta, così l’eroe la raggiunge per primo.

Quando l’eroe entra nella zona con la chiave, la porta si apre:

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

Rimuovi anche la zona. Altrimenti l’eroe ci rientra, $Door non esiste più e il gioco si blocca con Nodo non trovato.

Rimuovi la porta con queue_free(). hide() interrompe solo il disegno. La sua forma di collisione continuerebbe a bloccare l’eroe.

challenge icon

Sfida

Medio

In main.gd, collega $DoorZone.body_entered. Quando un corpo entra e has_key è true, rimuovi $Door e $DoorZone.

Provalo tu

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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Progetti

Esercitati da solo: Playground Godot