Wczytaj scenę
Część sekcji Tworzenie prawdziwych gier ścieżki Unity w Coddy. Lekcja 17 z 56.
Gra w Unity jest podzielona na sceny: menu, każdy poziom, napisy końcowe. Każda scena jest osobnym plikiem z własnymi obiektami, a skrypt przełącza się na inną za pomocą SceneManager.LoadScene z przestrzeni nazw UnityEngine.SceneManagement. Przycisk Play w tym menu, skonfigurowany w Inspectorze, otwiera poziom Forest:
using UnityEngine;
using UnityEngine.SceneManagement;
public class MainMenu : MonoBehaviour
{
public void Play()
{
SceneManager.LoadScene("Forest");
}
}Unity może wczytywać tylko sceny znajdujące się na liście scen kompilacji: w Unity 6 jest to File > Build Profiles, w sekcji Scene List (w starszych wersjach to okno nazywa się Build Settings). Nazwa musi dokładnie odpowiadać nazwie pliku sceny. Jeśli sceny brakuje na liście lub nazwa zawiera literówkę, na przykład "Forrest", nic się nie wczytuje, a w konsoli pojawia się błąd zaczynający się od Scene 'Forrest' couldn't be loaded, który informuje, że scena nie została dodana do kompilacji. Gra pozostaje w menu.
Przełączenie nie następuje natychmiast. Najpierw wykonuje się reszta bieżącej klatki, więc instrukcje po LoadScene nadal zostaną wykonane; na początku następnej klatki Unity niszczy wszystkie obiekty ze starej sceny i tworzy nową, której skrypty ponownie uruchamiają się od Awake i Start.
Wyzwanie
ŁatwyHub z dwoma portalami. Ta kompilacja ma trzy sceny: Hub (pierwszą), Desert i Glacier. W Hub jeden portal prowadzi do Desert, a drugi do Glacier; w każdej z tych scen znajduje się portal z powrotem do Hub. Każdy portal ma skrypt Portal, a w Inspectorze ustawiono jego sceneName na nazwę sceny, do której prowadzi. Strzałkami poruszasz Playerem (gotowe).
Napisz Portal.cs: gdy Player (oznaczony tagiem Player) wejdzie w portal, załaduj scenę o nazwie podanej w sceneName tego portalu.
Naciśnij Play, odwiedź oba miejsca, a następnie naciśnij Check.
Spróbuj swoich sił
using UnityEngine;
public class Portal : MonoBehaviour
{
public string sceneName;
// gdy gracz wejdzie do portalu, wczytaj scenę o nazwie sceneName
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
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