Menu
CoddyTech

Prova a tempo

Fa parte della sezione Creare veri giochi del percorso Unity di Coddy. Lezione 55 di 56.

Una prova a tempo attraverso un giardino. Il corridore parte da un'estremità con dieci secondi sul cronometro e deve raggiungere il traguardo bianco all'estremità opposta, aggirando una siepe, prima che il tempo scada. Gli orologi dorati lungo il percorso aggiungono qualche secondo ciascuno. Quando il tempo sta per finire, il cronometro diventa rosso; quando finisce, il percorso ricomincia. Raggiungi il traguardo in tempo e il gioco passa alla scena Finish.

Scrivi due script: Runner sul corridore, un CharacterController, e Race sull'oggetto Race.

challenge icon

Sfida

Difficile

La build ha due scene, Track e Finish. Sul tracciato, gli orologi hanno il tag Clock e il traguardo il tag Goal; entrambi sono trigger.

L'Inspector assegna a Runner speed (6), gravity (-9.81) e race (lo script Race).

  • L'azione Move del progetto fa correre il runner alla velocità di speed unità al secondo: a destra e a sinistra lungo x, in alto e in basso lungo z. Cade con gravity e si muove solo con controller.Move, quindi la siepe lo ferma.
  • Quando il runner urta un orologio, lo raccoglie e aggiunge il bonus alla gara. Quando urta il traguardo, la gara termina.

L'Inspector assegna a Race timeLimit (10), bonus (3) e timeText.

  • Il tempo rimanente parte da timeLimit e diminuisce in base al tempo effettivamente trascorso. timeText lo mostra con una cifra decimale, come Time: 7.4, in bianco e in rosso (Color.red) quando restano meno di 3 secondi.
  • Ogni orologio aggiunge bonus secondi.
  • Quando il tempo raggiunge 0, registra Time's up! e ricarica il tracciato dall'inizio.
  • Se la gara termina prima che scada il tempo, registra il tempo rimanente, come Finished with 4.2 s left, e carica la scena Finish.

Premi Play e batti il tempo, poi Check.

Provalo tu

using UnityEngine;
using UnityEngine.SceneManagement;
using TMPro;

public class Race : MonoBehaviour
{
    public float timeLimit = 10f;
    public float bonus = 3f;
    public TMP_Text timeText;
}
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 Creare veri giochi