Miglior tempo
Fa parte della sezione Creare veri giochi del percorso Unity di Coddy. Lezione 53 di 56.
Sfida
MedioUltimo passaggio: ogni livello ricorda il tuo tempo migliore. Mantieni tutto ciò che hai realizzato nelle lezioni precedenti. L'HUD di ogni livello ha un BestText in alto a destra, e la scena lo inserisce nel nuovo campo bestText di FinishLine.
In FinishLine (aggiungi using TMPro;):
- Un campo
TMP_TextbestText, impostato dall'Inspector, e il tempo della corsa: unfloatche aumenta diTime.deltaTimea ogni fotogramma. - Ogni livello salva il proprio record con una chiave PlayerPrefs specifica:
BestTime_e il nome del livello, ad esempioBestTime_Level1. - In
Start, mostra il record salvato del livello con una cifra decimale, comeBest: 12.4 s, oppureBest: nonese non ce n'è ancora uno. - Quando il giocatore attraversa il traguardo, prima che venga caricato il livello successivo, salva il tempo della corsa se il livello non ha ancora un record o se la corsa lo ha battuto. Una corsa più lenta lascia invariato il record.
Premi Play e stabilisci un tempo, poi prova a batterlo, quindi premi Check.
Provalo tu
using UnityEngine;
using UnityEngine.SceneManagement;
public class FinishLine : MonoBehaviour
{
void OnTriggerEnter(Collider other)
{
if (other.GetComponent<Player>() == null) return;
Scene level = SceneManager.GetActiveScene();
Debug.Log(level.name + " complete!");
int next = level.buildIndex + 1;
if (next >= SceneManager.sceneCountInBuildSettings)
{
next = 0;
}
SceneManager.LoadScene(next);
}
}
Tutte le lezioni di Creare veri giochi
1Testo sullo schermo
Canvas e testoMostra il punteggioFormattare i numeriUn timer per il conto alla rovesciaRiepilogo: tachimetro4Scene e livelli
Caricare una scenaRiavviare il livelloLivello successivoMantenere i dati tra le sceneRiepilogo: selezione del livello10Progetto: Platform 3D
Il percorsoPiattaforme mobili2Pulsanti e schermate
Pulsanti e onClickLambdaCollegare nell'InspectorPannelli attivi e disattiviBarre della saluteRiepilogo: negozio degli upgrade5Salvare con PlayerPrefs
Salvare un numeroCaricare con un valore predefinitoPunteggio massimoSalvare le impostazioniRiepilogo: monete in banca8Controller del personaggio
CharacterController.MoveGravità manualeSaltoSpingere gli oggettiMuoviti dove guardiRiepilogo: doppio salto3Il gestore del gioco
Uno script gestisce il giocoIl SingletonStati di giocoSelezionare lo statoRiepilogo: gestore del round6Progetto: Corsa infinita
Tre corsieOstacoli in arrivo9Il nuovo sistema di input
Due sistemi di inputTastiera e mousePremuto in questo frameAzioni di inputRiepilogo: cambio di input