Menu
CoddyTech

Muat Scene

Termasuk bagian Membangun Game Sungguhan dalam perjalanan Unity di Coddy. Pelajaran 17 dari 60.

Game Unity terbagi menjadi beberapa adegan: menu, setiap level, dan kredit. Setiap adegan adalah file tersendiri dengan objeknya sendiri, dan skrip beralih ke adegan lain dengan SceneManager.LoadScene, dari namespace UnityEngine.SceneManagement. Tombol “Main” di menu ini, yang dihubungkan melalui Inspector, membuka level Forest:

using UnityEngine;
using UnityEngine.SceneManagement;

public class MainMenu : MonoBehaviour
{
    public void Play()
    {
        SceneManager.LoadScene("Forest");
    }
}

Unity hanya dapat memuat adegan yang ada dalam daftar adegan build: di Unity 6, daftar itu ada di File > Build Profiles, pada bagian Scene List (versi lama menyebut jendela ini Build Settings). Nama adegan harus sama persis dengan nama file adegannya. Jika adegan tidak ada dalam daftar, atau ada salah ketik seperti "Forrest", tidak ada yang dimuat dan Console menampilkan error yang diawali Scene 'Forrest' couldn't be loaded dan menyatakan bahwa adegan tersebut belum ditambahkan ke build, lalu game tetap berada di menu.

Peralihan ini tidak terjadi seketika. Sisa frame saat ini berjalan terlebih dahulu, jadi baris setelah LoadScene tetap dijalankan. Pada awal frame berikutnya, Unity menghancurkan semua objek dari adegan lama dan membuat adegan baru, yang skripnya kembali dimulai dengan Awake dan Start.

challenge icon

Tantangan

Mudah

Buat setiap portal memuat scene yang namanya ditentukan oleh sceneName.

  1. Di bagian atas Portal.cs, tambahkan using UnityEngine.SceneManagement;.
  2. Tulis void OnTriggerEnter(Collider other): saat other.CompareTag("Player"), panggil SceneManager.LoadScene(sceneName);.

Tekan tombol “Main” dan berjalanlah ke setiap portal: Desert, Hub, dan Glacier dimuat secara berurutan. Lalu tekan tombol “Periksa”.

Coba sendiri

using UnityEngine;

public class Portal : MonoBehaviour
{
    public string sceneName;

    // Saat pemain masuk, muat scene bernama sceneName
}

Semua pelajaran di Membangun Game Sungguhan

Latihan sendiri: Playground Unity