Menu
CoddyTech

Rückblick: Levelauswahl

Teil des Abschnitts Echte Spiele entwickeln der Unity-Journey von Coddy. Lektion 21 von 56.

challenge icon

Aufgabe

Einfach

Ein Level-Auswahlbildschirm. Der Build listet Menu (Index 0), Level1, Level2 und Level3 auf. Das Menu hat drei Schaltflächen, die der Inspector in levelButtons des Skripts LevelSelect einträgt, sowie ein Progress-Objekt. In jedem Level führen die Pfeiltasten den Player zu einem goldenen Goal, dessen Skript (bereits vorhanden) Progress.Instance.LevelDone(level) mit dem Build-Index des Levels aufruft.

Progress.cs:

  • Der Fortschritt bleibt während des gesamten Spiels erhalten, und es gibt immer nur ein einziges Objekt, auf das über Progress.Instance zugegriffen wird, obwohl das Menu bei jedem Laden ein neues erstellt.
  • unlocked ist das höchste Level, das der Spieler spielen darf (zu Beginn 1). LevelDone(int level) schaltet das nächste Level frei, sperrt niemals ein bereits freigeschaltetes Level und kehrt zum Menu zurück.

LevelSelect.cs: Füge in Start jeder Schaltfläche einen Listener hinzu, der ihr eigenes Level lädt (die erste Schaltfläche lädt Level1 und so weiter), und mache eine Schaltfläche nur dann anklickbar, wenn ihr Level freigeschaltet ist.

Drücke Play, spiele die Level der Reihe nach und spiele Level 1 erneut. Drücke dann Check.

Probier es selbst

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

public class LevelSelect : MonoBehaviour
{
    public Button[] levelButtons;

    void Start()
    {
        // Jeder Button öffnet sein Level; gesperrte Level können nicht angeklickt werden
    }
}

Alle Lektionen in Echte Spiele entwickeln