Menu
CoddyTech

Reiniciar con una tecla

Parte de la sección Reglas del juego del Journey de Godot de Coddy. Lección 15 de 29.

Esta línea descarta la escena y la vuelve a cargar desde su archivo:

get_tree().reload_current_scene()

El juego nuevo comienza con tres vidas, el jugador en el cuadrado verde y «Game Over» oculto.

Main también está en pausa, así que su _process nunca detecta la tecla. Establece el process_mode de Main en Node.PROCESS_MODE_ALWAYS. Sus hijos heredan ese valor, excepto el jugador. La escena configura el modo del jugador como Pausable, así que sigue deteniéndose.

Volver a cargar no reanuda el juego. Establece get_tree().paused = false antes de volver a cargar, o el juego nuevo comenzará en pausa.

challenge icon

Desafío

Fácil

Permite que el jugador presione E para volver a jugar después de Game Over:

  1. En _ready(), establece el process_mode de este nodo en Node.PROCESS_MODE_ALWAYS.
  2. En _process(), cuando lives sea 0 y se acabe de presionar action, reanuda el juego y vuelve a cargar la escena.

Pruébalo tú mismo

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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Reglas del juego

Practica por tu cuenta: Playground de Godot