Menu
CoddyTech

Dieci tubi per vincere

Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 25 di 33.

Il giocatore può perdere, ma non ancora vincere. Quando il punteggio raggiunge 10, mostra You Win! e metti in pausa. Provalo nel punto in cui il punteggio aumenta:

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

Infine, consenti al giocatore di giocare di nuovo. Quando il gioco è in pausa, la barra spaziatrice ricarica la scena. Main è Always, quindi _process continua a essere eseguito:

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 spaziatrice è anche il tasto per sbattere le ali. Il volatore è Pausable, quindi ignora la pressione del tasto mentre il gioco è in pausa.

challenge icon

Sfida

Medio
  1. Quando il punteggio raggiunge 10, mostra You Win! e metti in pausa il gioco.
  2. Mentre il gioco è in pausa, la barra spaziatrice (jump) toglie la pausa e ricarica la scena.

Provalo tu

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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Progetti

Esercitati da solo: Playground Godot