Menu
CoddyTech

Bester Lauf

Teil des Abschnitts Echte Spiele entwickeln der Unity-Journey von Coddy. Lektion 33 von 60.

Der letzte Schritt des Endless Runners: Der beste Lauf wird in PlayerPrefs gespeichert, so wie es beim Highscore war, damit er einen erneuten Lauf und das Beenden des Spiels übersteht.

challenge icon

Aufgabe

Mittel

Speichere den besten Lauf unter dem Schlüssel BestRun.

  1. Füge private int best; hinzu. Lade ihn in Start() mit PlayerPrefs.GetInt("BestRun", 0) und zeige "Best: " + best + " m" in bestText an.
  2. Speichere ihn am Ende von GameOver(), wenn Mathf.FloorToInt(distance) best übertrifft, zeige ihn an und rufe newBestText.SetActive(true); auf.

Drücke „Spielen“, stelle einen Bestwert auf und übertriff ihn: „Neuer Bestwert!“ wird angezeigt. Drücke dann „Prüfen“.

Probier es selbst

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;

public enum GameState { Playing, GameOver }

public class GameManager : MonoBehaviour
{
    public static GameManager Instance;

    public float speed = 10f;
    public float speedUp = 0.5f;
    public float maxSpeed = 20f;
    public TMP_Text distanceText;
    public GameObject gameOverPanel;
    public Button restartButton;
    public GameState state = GameState.Playing;
    public TMP_Text bestText;
    public GameObject newBestText;
    private float distance;

    void Awake()
    {
        Instance = this;
    }

    void Start()
    {
        restartButton.onClick.AddListener(Restart);
    }

    void Update()
    {
        if (state != GameState.Playing) return;

        speed = Mathf.Min(speed + speedUp * Time.deltaTime, maxSpeed);
        distance += speed * Time.deltaTime;
        distanceText.text = "Distance: " + Mathf.FloorToInt(distance) + " m";
    }

    public void GameOver()
    {
        state = GameState.GameOver;
        speed = 0f;
        gameOverPanel.SetActive(true);
    }

    void Restart()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
    }
}
quiz iconTeste dich selbst

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

Übe selbstständig: Unity-Playground