Beste Zeit
Teil des Abschnitts Echte Spiele entwickeln der Unity-Journey von Coddy. Lektion 56 von 60.
Der letzte Schritt des Platformers: Der Spieler rennt, springt, fährt mit, erscheint nach dem Ausscheiden wieder, sammelt Edelsteine und gelangt ins nächste Level. Außerdem speichert jedes Level seine Bestzeit in PlayerPrefs.
Aufgabe
MittelJede Stufe merkt sich ihre Bestzeit.
- Füge in
FinishLineusing TMPro;,[SerializeField] private TMP_Text bestText;und eine Laufzeit hinzu, die mitTime.deltaTimewächst. - Zeige in
Start()die Bestzeit an, die unterBestTime_plus dem Namen der Stufe gespeichert ist, alsBest: 12.4 soderBest: none. - Speichere am Ziel vor dem Laden eine erstmalige oder schnellere Laufzeit.
Drücke „Spielen“, stelle eine Zeit auf und unterbiete sie. Drücke dann „Prüfen“.
Probier es selbst
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);
}
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Echte Spiele entwickeln
1Text auf dem Bildschirm
Canvas und TextPunktestand anzeigenZahlen formatierenEin Countdown-TimerRückblick: Tachometer2Buttons und Bildschirme
Buttons und onClickLambdasVerknüpfungen im InspectorPanels ein- und ausblendenGesundheitsbalkenRückblick: Upgrade-Shop5Speichern mit PlayerPrefs
Eine Zahl speichernMit einem Standardwert ladenHöchstpunktzahlEinstellungen speichernRückblick: Münzen auf der BankÜbe selbstständig: Unity-Playground