Skift mellem scener
Miljø til bekræftelse
- Windows
-
- Windows 11
- Enhedslistens redaktør
-
- 2020.3.25f1
- Input System Pakke
-
- 1.2.0
Forudsætninger for dette tip
Følgende indstillinger er foretaget på forhånd som en forudsætning for beskrivelsen af dette tip.
Se, hvordan du skifter mellem scener
En scene er en såkaldt "scene", men Unity bruger ordet "scene", som det er, så jeg vil forklare det med udtrykket scene.
Scener skifter ofte mellem scener i spillet. For eksempel, hvis du starter spillet fra startmenuen, og handlingen starter, kan du tænke på det som en sceneskift. Handlingen med at åbne menuskærmen under en handling vil også være en scenekontakt afhængigt af menuudtrykket.
Denne form for sceneskift skal implementeres i Unity, og der er mange måder at gøre det på. For eksempel bør der kun være en "Scene (i enhed)" i spillet. Når spilscenen ændres, kasseres alle objekter fra den forrige scene, og de nødvendige objekter genereres til den næste scene. Men selvom denne tilgang har fordelen ved kun at levere én scene, har den ulempen ved at skulle programmere styring af objektovergange.
I dette tip vil jeg gerne implementere en metode til at forberede så mange "Scene" -filer, som der er scener, og placere de nødvendige objekter i scenen på forhånd for at skifte scener. Det er meget let at skifte mellem faktiske scener, fordi alt hvad du skal gøre er at skifte mellem scenefiler.
Forberedelse af scenen
Opret først et normalt projekt. Det antages, at du allerede har forberedt inputsystempakken og konfigureret kameraet.
Denne gang forbereder vi to scenefiler og implementerer operationen med at klikke på knappen i den første scene og overgå til den anden scene.
Den SampleScene
eksisterende scene skal navngives , så skift dette SampleScene1
til .
Højreklik derefter på et tomt område af projektet og vælg "Scene" fra "Opret". Du kan også tilføje det fra knappen + under projektfanen.
En ny scenefil tilføjes, så navngiv SampleScene2
den .
SampleScene1
Dobbeltklik for at åbne scenen og placere objektet som vist nedenfor.
Når du klikker på knappen, kan du SampleScene2
skifte til , så layoutet kan være passende.
SampleScene2
Dobbeltklik for at åbne scenen og placere objektet som vist nedenfor.
Det betyder ikke noget, hvad du lægger, fordi du bare vil vide, hvad der har ændret sig.
Når du har oprettet scenen, skal du åbne "File > Build Settings" i menuen.
Indsæt scener, der er inkluderet i SampleScene2
buildet.
Luk Build-indstillinger, når de er tilføjet som vist nedenfor.
Scene skift proces
Sceneskift udføres efter script, så opret venligst et script. Navnet er vilkårligt, men i dette tilfælde SceneChange
er det .
Scriptet ser sådan ud:
using UnityEngine;
using UnityEngine.SceneManagement; // 追加
public class SceneChange : MonoBehaviour
{
<summary>ボタンをクリックしたときに呼ばれます。</summary>
public void OnClick()
{
// 指定したシーンを読み込み他のシーンは削除します
SceneManager.LoadScene("SampleScene2", LoadSceneMode.Single);
}
}
Indholdet er meget enkelt SceneManager.LoadScene
, og du kan skifte mellem scener ved hjælp af opkaldsmetoder.
Det første argument er navnet på den scene, der skal skiftes til.
Hvis du angiver som det LoadSceneMode.Single
andet argument, kan du kun åbne den angivne scene, mens du lukker den aktuelle scene.
Der er også en parameter kaldet blot tilføj LoadSceneMode.Additive
scene, men jeg vil ikke forklare det i denne artikel.
Når du har gemt scriptet, SampleScene1
skal du åbne og vedhæfte det til . EventSystem
Det kan være ethvert objekt, du vedhæfter til.
Indstil OnClick
knappens klikhændelse til et objekt, der er knyttet til, SceneChange
så metoden kan kaldes.
Prøv at køre spillet og se, om scenen ændrer sig, når du har klikket på knappen.