Přepínání mezi scénami

Stránky aktualizovány :
Datum vytvoření stránky :

Ověřovací prostředí

Windows
  • Systém Windows 11
Editor jednoty
  • 2020.3.25f1
Vstupní systémový balíček
  • 1.2.0

Předpoklady pro tento tip

Následující nastavení byla provedena předem jako předpoklad pro popis tohoto tipu.

Přečtěte si, jak přepínat mezi scénami

Scéna je takzvaná "scéna", ale Jednota používá slovo "scéna" tak, jak je, takže to vysvětlím výrazem scéna.

Scény se často přepínají mezi scénami ve hře. Pokud například spustíte hru z nabídky Start a spustí se akce, můžete si ji představit jako přepínač scény. Také akce otevření obrazovky nabídky během akce bude také přepínačem scény v závislosti na výrazu nabídky.

Tento druh přepínání scén musí být implementován v Unity a existuje mnoho způsobů, jak to udělat. Například ve hře by měla být pouze jedna "Scéna (v Unity)". Když se změní herní scéna, všechny objekty z předchozí scény jsou vyřazeny a potřebné objekty jsou generovány pro další scénu. Nicméně, zatímco tento přístup má tu výhodu, že poskytuje pouze jednu scénu, má nevýhodu v tom, že musí programově spravovat přechody objektů.

V tomto tipu bych chtěl implementovat metodu přípravy co nejvíce souborů "Scéna", kolik je scén a umístění potřebných objektů do scény předem pro přepínání scén. Přepínání mezi skutečnými scénami je velmi snadné, protože vše, co musíte udělat, je přepínat mezi soubory scén.

Příprava scény

Nejprve vytvořte normální projekt. Předpokládá se, že jste již připravili balíček vstupního systému a nakonfigurovali fotoaparát.

Tentokrát připravíme dva soubory scény a implementujeme operaci kliknutí na tlačítko v první scéně a přechod na druhou scénu.

Existující scéna SampleScene by měla být pojmenována , takže změňte tuto hodnotu SampleScene1 na .

Dále klikněte pravým tlačítkem myši na prázdnou oblast projektu a vyberte "Scéna" z "Vytvořit". Můžete ji také přidat pomocí tlačítka + pod kartou projektu.

Bude přidán nový soubor scény, takže jej pojmenujte SampleScene2 .

SampleScene1 Poklepáním otevřete scénu a umístěte objekt tak, jak je znázorněno níže. SampleScene2 Po kliknutí na tlačítko můžete přejít na , takže rozložení může být vhodné.

SampleScene2 Poklepáním otevřete scénu a umístěte objekt tak, jak je znázorněno níže. Nezáleží na tom, co dáte, protože chcete vědět, co se změnilo.

Po vytvoření scény otevřete z nabídky "File > Build Settings".

Drop v scénách zahrnutých v SampleScene2 sestavení.

Po přidání zavřete nastavení sestavení, jak je znázorněno níže.

Proces přepínání scény

Přepínání scén se provádí skriptem, proto prosím vytvořte skript. Název je libovolný, ale v tomto případě SceneChange je .

Skript vypadá takto:

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

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

Obsah je velmi jednoduchý SceneManager.LoadScene a mezi scénami můžete přepínat voláním metod.

Prvním argumentem je název scény, na kterou se má přepnout.

Pokud zadáte jako LoadSceneMode.Single druhý argument, můžete při zavírání aktuální scény otevřít pouze určenou scénu. Existuje také parametr nazvaný jednoduše přidat LoadSceneMode.Additive scénu, ale v tomto článku to nebudu vysvětlovat.

Po uložení skriptu SampleScene1 jej otevřete a připojte k rozhraní . EventSystem Může to být jakýkoli objekt, ke kterému se připojíte.

Nastavte OnClick událost kliknutí tlačítka na připojený objekt, aby SceneChange bylo možné metodu volat.

Zkuste spustit hru a zjistěte, zda se scéna po kliknutí na tlačítko změní.