Rückblick: Levelauswahl
Teil des Abschnitts Echte Spiele entwickeln der Unity-Journey von Coddy. Lektion 21 von 60.
Diese Zusammenfassung führt das Kapitel zusammen: ein Manager, der Szenenwechsel mit DontDestroyOnLoad übersteht, und Schaltflächen, die Szenen anhand ihres Namens oder ihrer Nummer laden. Wenn du ein Level abschließt, wird das nächste im Menü geöffnet.
Aufgabe
EinfachErstelle eine Levelauswahl, die Level freischaltet, sobald sie abgeschlossen sind.
Progress.Awake(): Zerstöre einen neuen Aufrufer und kehre zurück, andernfalls setzeInstanceund rufeDontDestroyOnLoad(gameObject)auf.LevelDone(int level):unlocked = Mathf.Max(unlocked, level + 1);, dannMenuladen.LevelSelect.Start(): Die Schaltflächeilädt Leveli + 1(kopiere es zuerst) und ist nur bisProgress.Instance.unlockedinteractable.
Drücke „Spielen“ und schließe Level 1 ab: Die Schaltfläche für Level 2 wird freigeschaltet. Drücke dann „Prüfen“.
Probier es selbst
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class LevelSelect : MonoBehaviour
{
public Button[] levelButtons;
void Start()
{
// Jede Schaltfläche öffnet das zugehörige Level; gesperrte Level können nicht angeklickt werden
}
}
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: Tachometer4Szenen und Level
Eine Szene ladenDas Level neu startenNächstes LevelZwischen Szenen beibehaltenRückblick: Levelauswahl2Buttons 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