Senza più cuori
Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 35 di 36.
Quando sparisce l'ultimo cuore, la partita finisce. Verifica che il valore sia zero subito dopo aver nascosto il cuore:
if health == 0:
$HUD/Message.text = "Game Over"
get_tree().paused = trueL'eroe e la guardia sono Pausable, quindi si bloccano. Main è Always, quindi _process continua a essere eseguito. Avvia una nuova partita quando il giocatore preme Invio:
func _process(delta):
if get_tree().paused and Input.is_action_just_pressed("action"):
get_tree().paused = false
get_tree().reload_current_scene()Ricaricare azzera tutto: tre cuori, la chiave sul pavimento e la porta chiusa a chiave.
Sfida
MedioTermina la partita quando finiscono i cuori.
- Quando
healthraggiunge 0, mostraGame Overin$HUD/Messagee metti in pausa la partita. - Mentre la partita è in pausa, Invio (
action) la riattiva e ricarica la scena.
Premi «Gioca» e perdi tre cuori: appare Game Over. Premi Invio per ricominciare. 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 _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()
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