Váltás a jelenetek között

Oldal frissítve :
Oldal létrehozásának dátuma :

Ellenőrzési környezet

Windows
  • Windows 11 esetén
Unity-szerkesztő
  • 2020.3.25f1
Bemeneti rendszercsomag
  • 1.2.0

A tipp előfeltételei

A következő beállításokat előre elvégeztük a tipp leírásának előfeltételeként.

További információ a szcenáriók közötti váltásról

A jelenet egy úgynevezett "jelenet", de a Unity a "jelenet" szót úgy használja, ahogy van, ezért a jelenet kifejezéssel magyarázom.

A jelenetek gyakran váltanak a játék jelenetei között. Például, ha elindítja a játékot a Start menüből, és elindul a művelet, akkor úgy gondolhat rá, mint egy jelenetváltásra. Ezenkívül a menüképernyő művelet közbeni megnyitásának művelete a menükifejezéstől függően jelenetváltás is lesz.

Ezt a fajta jelenetváltást a Unity-ben kell megvalósítani, és ennek számos módja van. Például csak egy "Jelenet (Unity)" lehet a játékban. Amikor a játék jelenete megváltozik, az előző jelenet összes objektuma eldobásra kerül, és a szükséges objektumok létrejönnek a következő jelenethez. Bár ennek a megközelítésnek az az előnye, hogy csak egy jelenetet biztosít, hátránya, hogy programozott módon kell kezelnie az objektumátmeneteket.

Ebben a tippben szeretnék megvalósítani egy módszert, amellyel annyi "Scene" fájlt készíthet, ahány jelenet van, és előre elhelyezheti a jelenetben a jelenetváltáshoz szükséges objektumokat. A tényleges jelenetek közötti váltás nagyon egyszerű, mert mindössze annyit kell tennie, hogy vált a jelenetfájlok között.

A jelenet előkészítése

Először hozzon létre egy normál projektet. Feltételezzük, hogy már előkészítette a bemeneti rendszercsomagot és konfigurálta a kamerát.

Ezúttal két jelenetfájlt készítünk, és végrehajtjuk az első jelenetben a gombra kattintás és a második jelenetre való áttérés műveletét.

A SampleScene meglévő jelenetnek nevet kell adni, ezért módosítsa ezt SampleScene1 a következőre: .

Ezután kattintson a jobb gombbal a projekt üres területére, és válassza a "Jelenet" lehetőséget a "Létrehozás" -ból. A projekt lap alatti + gombbal is hozzáadhatja.

A rendszer hozzáad egy új jelenetfájlt, ezért nevezze el SampleScene2 .

SampleScene1 Kattintson duplán a jelenet megnyitásához és az objektum elhelyezéséhez az alábbiak szerint. SampleScene2 A gombra kattintva átválthat a gombra, így az elrendezés megfelelő lehet.

SampleScene2 Kattintson duplán a jelenet megnyitásához és az objektum elhelyezéséhez az alábbiak szerint. Nem számít, mit teszel, mert csak tudni akarod, mi változott.

A jelenet létrehozása után nyissa meg a menüből a "Fájl > Build beállítások" elemet.

Dobja be a Buildben SampleScene2 szereplő jeleneteket.

Zárja be a Build Gépház, miután hozzáadta őket az alábbiak szerint.

Jelenetváltás folyamata

A jelenetváltás szkript alapján történik, ezért kérjük, hozzon létre egy szkriptet. A név önkényes, de ebben az esetben SceneChange .

A szkript így néz ki:

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

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

A tartalom nagyon egyszerű SceneManager.LoadScene , és hívási módszerekkel válthat a jelenetek között.

Az első argumentum annak a jelenetnek a neve, amelyre váltani szeretne.

Ha második argumentumként LoadSceneMode.Single adja meg, csak a megadott jelenetet nyithatja meg az aktuális jelenet bezárásakor. Van egy paraméter is, amelyet egyszerűen hozzáadnak LoadSceneMode.Additive a jelenethez, de ebben a cikkben nem magyarázom el.

A szkript mentése után nyissa meg és csatolja a mappához SampleScene1 . EventSystem Bármilyen objektum lehet, amelyhez csatolja.

Állítsa OnClick be a gomb kattintási eseményét egy csatolt objektumra, hogy a SceneChange metódus meghívható legyen.

Próbálja meg futtatni a játékot, és nézze meg, hogy a jelenet megváltozik-e a gombra kattintás után.