Menu
CoddyTech

Batti il tempo

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

Il conto alla rovescia non fa nulla quando arriva a zero e continua fino a -1, -2. Aggiungi queste regole:

  • Quando il tempo raggiunge 0, il giocatore perde. Mostra Time's up! e interrompi il gioco.
  • Quando il giocatore raggiunge per primo la bandiera, vince. Mostra You win! e interrompi il gioco.

Interrompi il gioco con get_tree().paused = true. La pausa ferma l'orologio, quindi il tempo resta al valore raggiunto. Ferma anche il giocatore, così nessuno vince dopo che il tempo è scaduto.

if time_left == 0:
	$HUD/Message.text = "Time's up!"
	get_tree().paused = true
challenge icon

Sfida

Facile
  1. In _on_clock_timeout(), dopo la riga dell’etichetta, controlla se time_left è 0. In tal caso, mostra Time's up! su $HUD/Message e metti in pausa il gioco.
  2. In _on_goal_body_entered(body), metti in pausa il gioco dopo You win!.

Provalo tu

extends Node2D

var time_left = 10

func _ready():
	$HUD/Time.text = "Time: %d" % time_left
	$Goal.body_entered.connect(_on_goal_body_entered)
	$Clock.timeout.connect(_on_clock_timeout)

func _on_goal_body_entered(body):
	if body.is_in_group("player"):
		$HUD/Message.text = "You win!"

func _on_clock_timeout():
	time_left -= 1
	$HUD/Time.text = "Time: %d" % time_left
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