Fuggi dal dungeon
Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 33 di 33.
Le scale nell'angolo più lontano sono la via d'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 con gli altri segnali. Anche dopo una vittoria, Invio avvia una nuova partita, perché il riavvio controlla solo che il gioco sia in pausa.
Gioca nel tuo dungeon. Poi modificalo: aggiungi una seconda guardia, sposta i muri oppure nascondi la chiave in un posto più difficile da trovare.
Sfida
FacileIn main.gd, collega $Exit.body_entered a una funzione che mostra You Escaped! in $HUD/Message e mette in pausa il gioco.
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