Prepínanie medzi scénami

Stránka aktualizovaná :
Dátum vytvorenia strany :

Prostredie overovania

Windows
  • Windows 11
Editor jednoty
  • 2020.3.25f1
Vstupný systémový balík
  • 1.2.0

Predpoklady pre tento tip

Nasledujúce nastavenia boli vykonané vopred ako predpoklad pre popis tohto tipu.

Ako prepínať medzi scénami

Scéna je takzvaná "scéna", ale Unity používa slovo "scéna" tak, ako je, takže to vysvetlím výrazovou scénou.

Scény sa často prepínajú medzi scénami v hre. Ak napríklad spustíte hru z ponuky Štart a spustí sa akcia, môžete si ju predstaviť ako prepínač scén. Akcia otvorenia obrazovky ponuky počas akcie bude tiež prepínačom scény v závislosti od výrazu ponuky.

Tento druh prepínania scén musí byť implementovaný v Unity a existuje mnoho spôsobov, ako to urobiť. Napríklad v hre by mala byť iba jedna "Scéna (v jednote)". Keď sa herná scéna zmení, všetky objekty z predchádzajúcej scény sa zahodia a vygenerujú sa potrebné objekty pre ďalšiu scénu. Aj keď má tento prístup tú výhodu, že poskytuje iba jednu scénu, má nevýhodu v tom, že musí programovo riadiť prechody objektov.

V tomto tipe by som chcel implementovať metódu prípravy čo najväčšieho počtu súborov "Scéna", koľko je scén a umiestnenia potrebných objektov do scény vopred na prepínanie scén. Prepínanie medzi skutočnými scénami je veľmi jednoduché, pretože všetko, čo musíte urobiť, je prepínať medzi súbormi scén.

Príprava scény

Najprv vytvorte normálny projekt. Predpokladá sa, že ste už pripravili balík vstupného systému a nakonfigurovali fotoaparát.

Tentokrát pripravíme dva súbory scén a implementujeme operáciu kliknutia na tlačidlo v prvej scéne a prechodu na druhú scénu.

Existujúca SampleScene scéna by mala byť pomenovaná , takže to SampleScene1 zmeňte na .

Potom kliknite pravým tlačidlom myši na prázdnu oblasť projektu a vyberte "Scéna" z "Vytvoriť". Môžete ho tiež pridať pomocou tlačidla + pod kartou projektu.

Pridá sa nový súbor scény, tak ho pomenujte SampleScene2 .

SampleScene1 Dvojitým kliknutím otvorte scénu a umiestnite objekt tak, ako je to znázornené nižšie. SampleScene2 Po kliknutí na tlačidlo môžete prejsť na , aby rozloženie bolo vhodné.

SampleScene2 Dvojitým kliknutím otvorte scénu a umiestnite objekt tak, ako je to znázornené nižšie. Nezáleží na tom, čo dáte, pretože chcete len vedieť, čo sa zmenilo.

Po vytvorení scény otvorte z ponuky "File > Build Settings".

Zastavte scény zahrnuté v SampleScene2 zostave.

Po pridaní zatvorte Nastavenia zostavy, ako je znázornené nižšie.

Proces prepínania scén

Prepínanie scén sa vykonáva pomocou skriptu, preto vytvorte skript. Názov je ľubovoľný, ale v tomto prípade SceneChange je to .

Skript vyzerá takto:

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

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

Obsah je veľmi jednoduchý SceneManager.LoadScene a medzi scénami môžete prepínať spôsobmi volania.

Prvým argumentom je názov scény, na ktorú sa má prepnúť.

Ak zadáte LoadSceneMode.Single ako druhý argument, môžete otvoriť iba zadanú scénu a zároveň zatvoriť aktuálnu scénu. Existuje aj parameter s názvom jednoducho pridať LoadSceneMode.Additive scénu, ale v tomto článku to nebudem vysvetľovať.

Po uložení skriptu SampleScene1 ho otvorte a priložte k súboru . EventSystem Môže to byť akýkoľvek predmet, ku ktorému sa pripojíte.

Nastavte OnClick udalosť kliknutia tlačidla na pripojený objekt, aby bolo možné metódu SceneChange vyvolať.

Skúste spustiť hru a zistite, či sa scéna po kliknutí na tlačidlo zmení.