Menu
CoddyTech

Riavviare con un tasto

Fa parte della sezione Regole di gioco del percorso Godot di Coddy. Lezione 15 di 29.

Questa riga elimina la scena e la ricarica da zero dal suo file:

get_tree().reload_current_scene()

La nuova partita inizia con tre vite, il giocatore sul quadrato verde e Game Over nascosto.

Anche Main è in pausa, quindi il suo _process non rileva mai il tasto. Imposta il process_mode di Main su Node.PROCESS_MODE_ALWAYS. I suoi elementi figli ereditano questa impostazione, tranne il giocatore. La scena imposta il giocatore su Pausable, quindi si ferma comunque.

Ricaricare non toglie la pausa al gioco. Imposta get_tree().paused = false prima di ricaricare, altrimenti la nuova partita inizierà in pausa.

challenge icon

Sfida

Facile

Fai premere al giocatore E per giocare di nuovo dopo Game Over:

  1. In _ready(), imposta process_mode di questo nodo su Node.PROCESS_MODE_ALWAYS.
  2. In _process(), quando lives è 0 e action è appena stato premuto, riprendi la partita e ricarica la scena.

Provalo tu

extends Node2D

var lives = 3

func _ready():
	$HUD/Lives.text = "Lives: %d" % lives
	$Player.hurt.connect(_on_player_hurt)
	$Blink.timeout.connect(_on_blink_timeout)
	$Blink.process_mode = Node.PROCESS_MODE_ALWAYS

func _process(delta):
	pass

func _on_player_hurt():
	lives -= 1
	$HUD/Lives.text = "Lives: %d" % lives
	if lives == 0:
		$HUD/GameOver.visible = true
		$HUD/Hint.visible = true
		get_tree().paused = true

func _on_blink_timeout():
	if lives == 0:
		$HUD/GameOver.visible = not $HUD/GameOver.visible
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 Regole di gioco

Esercitati da solo: Playground Godot