Bertukar antara pemandangan

Laman dikemaskini :
Tarikh penciptaan halaman :

Persekitaran pengesahan

Windows
  • Windows 11
Penyunting Perpaduan
  • 2020.3.25f1
Pakej Sistem Input
  • 1.2.0

Prasyarat untuk petua ini

Tetapan berikut telah dibuat terlebih dahulu sebagai premis untuk penerangan petua ini.

Ketahui cara untuk bertukar antara pemandangan

Adegan adalah apa yang dipanggil "adegan", tetapi Unity menggunakan perkataan "adegan" seperti itu, jadi saya akan menerangkannya dengan adegan ungkapan.

Adegan sering bertukar antara adegan dalam permainan. Sebagai contoh, jika anda memulakan permainan dari menu mula dan tindakan bermula, anda boleh menganggapnya sebagai suis adegan. Selain itu, tindakan membuka skrin menu semasa tindakan juga akan menjadi suis adegan bergantung pada ungkapan menu.

Pertukaran adegan seperti ini perlu dilaksanakan dalam Perpaduan, dan terdapat banyak cara untuk melakukannya. Sebagai contoh, hanya perlu ada satu "Adegan (dalam Perpaduan)" dalam permainan. Apabila adegan permainan berubah, semua objek dari adegan sebelumnya dibuang dan objek yang diperlukan dijana untuk adegan seterusnya. Walau bagaimanapun, walaupun pendekatan ini mempunyai kelebihan untuk menyediakan hanya satu Adegan, ia mempunyai kelemahan untuk menguruskan peralihan objek secara programatik.

Dalam petua ini, saya ingin melaksanakan kaedah penyediaan seberapa banyak fail "Adegan" kerana terdapat adegan dan meletakkan objek yang diperlukan di tempat kejadian terlebih dahulu untuk menukar adegan. Bertukar antara adegan sebenar adalah sangat mudah kerana apa yang anda perlu lakukan ialah bertukar antara fail Scene.

Menyediakan Tempat Kejadian

Pertama, buat projek biasa. Diandaikan bahawa anda telah menyediakan pakej sistem input dan mengkonfigurasi kamera.

Kali ini, kami akan menyediakan dua fail adegan, dan melaksanakan operasi mengklik butang pada babak pertama dan beralih ke babak kedua.

Adegan SampleScene yang sedia ada harus dinamakan , jadi ubah ini SampleScene1 kepada .

Seterusnya, klik kanan pada kawasan kosong projek dan pilih "Adegan" daripada "Buat". Anda juga boleh menambahnya dari butang + di bawah tab projek.

Fail adegan baru akan ditambah, jadi namakannya SampleScene2 .

SampleScene1 Dwiklik untuk membuka pemandangan dan meletakkan objek seperti yang ditunjukkan di bawah. Apabila anda mengklik butang, anda SampleScene2 boleh beralih ke , jadi susun atur boleh sesuai.

SampleScene2 Dwiklik untuk membuka pemandangan dan meletakkan objek seperti yang ditunjukkan di bawah. Tidak kira apa yang anda letakkan kerana anda hanya ingin tahu apa yang telah berubah.

Selepas membuat adegan, buka "Fail > Bina Tetapan" daripada menu.

Drop in Scenes termasuk dalam SampleScene2 Build.

Tutup Seting Bina sebaik sahaja ia ditambah seperti yang ditunjukkan di bawah.

Proses penukaran adegan

Pertukaran adegan dilakukan dengan skrip, jadi sila buat skrip. Nama itu sewenang-wenangnya, tetapi dalam kes SceneChange ini ia adalah .

Skrip kelihatan seperti ini:

using UnityEngine;
using UnityEngine.SceneManagement;  // 追加

public class SceneChange : MonoBehaviour
{
  /// <summary>ボタンをクリックしたときに呼ばれます。</summary>
  public void OnClick()
  {
    // 指定したシーンを読み込み他のシーンは削除します
    SceneManager.LoadScene("SampleScene2", LoadSceneMode.Single);
  }
}

Kandungannya sangat mudah SceneManager.LoadScene dan anda boleh bertukar antara adegan dengan kaedah panggilan.

Argumen pertama ialah nama adegan untuk bertukar.

Jika anda menentukan sebagai LoadSceneMode.Single argumen kedua, anda hanya boleh membuka adegan yang ditentukan semasa menutup adegan semasa. Terdapat juga parameter yang dipanggil hanya menambah LoadSceneMode.Additive adegan, tetapi saya tidak akan menerangkannya dalam artikel ini.

Selepas anda menyimpan skrip, SampleScene1 buka dan pasangkannya . EventSystem Ia boleh menjadi objek yang anda lampirkan.

Tetapkan OnClick peristiwa klik butang kepada objek yang dilampirkan supaya kaedah itu SceneChange boleh dipanggil.

Cuba jalankan permainan dan lihat sama ada adegan berubah selepas mengklik butang.