SceneManagement je posebna Unityjeva klasa koja se koristi za prijelaz iz jedne scene u drugu.
Možemo pristupiti nekoj sceni tako da koristimo metodu Scene iz klase SceneManagement.
U sljedećem primjeru pokazat cemo kako pristupiti sceni uz pomoć imena i indeksa i kako pristupiti sceni u kojoj se nalazimo.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement; //ovdje definiramo klasu SceneManagement
public class PrimjerScene : MonoBehaviour
{
void Start()
{
Scene trenutnaScena = SceneManager.GetActiveScene(); //pristupamo sceni unutar koje se nalazimo
Scene scenaImenaSuma = SceneManager.GetSceneByName("suma"); //pristupamo sceni pod nazivom "suma"
Scene scenaBr4 = SceneManager.GetSceneByBuildIndex(3); //pristupamo 4. sceni po redu
//ispisivanje naziva tih scena
Debug.Log(trenutnaScena.name);
Debug.Log(scenaImenaSuma.name);
Debug.Log(scenaBr4.name);
//ispisvanje rednog broja scene
Debug.Log(trenutnaScena.buildIndex);
Debug.Log(scenaImenaSuma.buildIndex);
Debug.Log(scenaBr4.buildIndex);
}
}
LoadScene je metoda klase SceneManagement koju koristimo za prijelaz iz jedne scene u drugu.
Scenu možemo učitati uz pomoć broja ili imena.
Prva scena se označuje brojem 0.
U sljedećem primjeru učitavamo 4. scenu u Build Settings ako pritisnemo tipku Space.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement; //ovdje definiramo klasu SceneManagement
public class PrimjerScene : MonoBehaviour
{
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
SceneManager.LoadScene(3); //učitavanje 4. scene u Build Settings
}
}
}
U sljedećem primjeru učitavamo scenu koju smo nazvali LVLSuma kada pritisnemo tipku Space.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement; //ovdje definiramo klasu SceneManagement
public class PrimjerScene : MonoBehaviour
{
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
SceneManager.LoadScene("LVLSuma"); //učitavanje scene pod nazivom "LVLSuma"
}
}
}
UnloadScene briše određenu scenu iz memorije. To znači da se uništavaju resursi poput objekata, skripti, tekstura, modela i drugih elemenata koji pripadaju toj sceni.
U sljedećem primjeru brišemo scenu pod nazivom LVLSuma.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement; //ovdje definiramo klasu SceneManagement
public class PrimjerScene : MonoBehaviour
{
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
SceneManager.UnloadScene("LVLSuma");
}
}
}