Fuggi dal dungeon
Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 36 di 36.
Le scale nell'angolo più lontano sono l'uscita. Sono un'Area2D chiamata Exit. Quando l'eroe ci sale sopra, il giocatore vince:
func _on_exit_body_entered(body):
$HUD/Message.text = "You escaped!"
get_tree().paused = trueCollegala in _ready insieme agli altri segnali. Anche dopo una vittoria, Invio avvia una nuova partita, perché il riavvio controlla solo se il gioco è in pausa.
Gioca al tuo dungeon. Poi modificalo: aggiungi una seconda guardia, sposta i muri o nascondi la chiave in un posto più difficile da trovare.
Sfida
FacileFai fuggire l’eroe scendendo le scale.
- In
main.gd, collega$Exit.body_entereda una funzione. - Lì, mostra
You escaped!in$HUD/Messagee metti in pausa il gioco.
Premi «Gioca» e raggiungi le scale: appare You escaped! Poi premi «Verifica».
Provalo tu
extends Node2D
var has_key = false
var health = 3
func _ready():
$Key.body_entered.connect(_on_key_body_entered)
$DoorZone.body_entered.connect(_on_door_zone_body_entered)
$Enemy.body_entered.connect(_on_enemy_body_entered)
func _process(delta):
if get_tree().paused and Input.is_action_just_pressed("action"):
get_tree().paused = false
get_tree().reload_current_scene()
func _on_key_body_entered(body):
has_key = true
$Key.queue_free()
$HUD/KeyIcon.visible = true
func _on_door_zone_body_entered(body):
if has_key:
$Door.queue_free()
$DoorZone.queue_free()
func _on_enemy_body_entered(body):
health -= 1
$HUD/Hearts.get_child(health).visible = false
$Hero.flash()
if health == 0:
$HUD/Message.text = "Game Over"
get_tree().paused = 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