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.
Sfida
MedioIn 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
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Progetti
1Progetto: Breakout
La racchetta di BreakoutMantieni la racchetta sullo schermo4Progetto: Dungeon Crawler
Attraversa il dungeonRaccogli la chiaveEsercitati da solo: Playground Godot