Váltás a jelenetek között
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.