Podsumowanie: wybór poziomu
Część sekcji Tworzenie prawdziwych gier ścieżki Unity w Coddy. Lekcja 21 z 56.
Wyzwanie
ŁatwyEkran wyboru poziomu. Lista kompilacji zawiera Menu (indeks 0), Level1, Level2 i Level3. Menu ma trzy przyciski, które Inspector umieszcza w levelButtons skryptu LevelSelect, oraz obiekt Progress. Na każdym poziomie strzałki prowadzą Playera do złotego celu Goal, którego skrypt (gotowy) wywołuje Progress.Instance.LevelDone(level) z indeksem kompilacji poziomu.
Progress.cs:
- Postęp jest zachowywany przez całą grę i zawsze istnieje tylko jeden taki obiekt, dostępny jako
Progress.Instance, chociaż Menu tworzy nowy przy każdym załadowaniu. unlockedto najwyższy poziom, w który gracz może zagrać (na początku 1).LevelDone(int level)odblokowuje następny poziom, nigdy nie blokuje poziomu, który był już odblokowany, i wraca do Menu.
LevelSelect.cs: w Start przypisz każdemu przyciskowi listener, który ładuje odpowiadający mu poziom (pierwszy przycisk — Level1 itd.), i ustaw przycisk jako klikalny tylko wtedy, gdy jego poziom jest odblokowany.
Naciśnij Play, zagraj po kolei wszystkie poziomy i ponownie przejdź Level 1, a następnie naciśnij Check.
Spróbuj swoich sił
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class LevelSelect : MonoBehaviour
{
public Button[] levelButtons;
void Start()
{
// każdy przycisk otwiera swój poziom; nie można kliknąć zablokowanych poziomów
}
}
Wszystkie lekcje w sekcji Tworzenie prawdziwych gier
1Tekst na ekranie
Canvas i tekstWyświetlanie wynikuFormatowanie liczbOdliczanie czasuPowtórka: prędkościomierz4Sceny i poziomy
Wczytaj scenęUruchom poziom ponownieNastępny poziomZachowaj między scenamiPodsumowanie: wybór poziomu10Projekt: platformówka 3D
TrasaRuchome platformy2Przyciski i ekrany
Przyciski i onClickLambdyPodłączanie w InspectorzeWłączanie i wyłączanie paneliPaski zdrowiaPodsumowanie: sklep z ulepszeniami5Zapisywanie za pomocą PlayerPrefs
Zapisz liczbęWczytywanie z wartością domyślnąNajlepszy wynikZapisz ustawieniaPodsumowanie: monety w banku