Menu
CoddyTech

Diez tuberías para ganar

Parte de la sección Proyectos del Journey de Godot de Coddy. Lección 25 de 33.

El jugador puede perder, pero todavía no ganar. Al llegar a una puntuación de 10, muestra You Win! y pausa el juego. Pruébalo cuando aumente la puntuación:

if score == 10:
	$HUD/Message.text = "You Win!"
	get_tree().paused = true

Por último, permite que el jugador vuelva a jugar. Mientras el juego está pausado, la barra espaciadora vuelve a cargar la escena. Main es Always, así que _process sigue ejecutándose:

func _process(delta):
	if get_tree().paused and Input.is_action_just_pressed("jump"):
		get_tree().paused = false
		get_tree().reload_current_scene()

La barra espaciadora también es la tecla de aleteo. El volador es Pausable, así que ignora la pulsación mientras el juego está pausado.

challenge icon

Desafío

Intermedio
  1. Cuando la puntuación llegue a 10, muestra You Win! y pausa el juego.
  2. Mientras esté en pausa, la tecla Espacio (jump) quita la pausa y vuelve a cargar la escena.

Pruébalo tú mismo

extends Node2D

const PIPE = preload("res://pipe.tscn")

var score = 0

func _ready():
	$PipeTimer.timeout.connect(_on_pipe_timer_timeout)
	$Flyer.crashed.connect(_on_crash)
	$HUD/Score.text = "0"

func _on_pipe_timer_timeout():
	var pipe = PIPE.instantiate()
	pipe.position = Vector2(700, randf_range(100, 250))
	pipe.hit.connect(_on_crash)
	pipe.scored.connect(_on_scored)
	$Pipes.add_child(pipe)

func _on_crash():
	$HUD/Message.text = "Game Over"
	get_tree().paused = true

func _on_scored():
	score += 1
	$HUD/Score.text = str(score)
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 Proyectos

Practica por tu cuenta: Playground de Godot