Comutați între scene
Mediul de verificare
- Windows
-
- Ferestre 11
- Unity Editor
-
- 2020.3.25F1
- Pachet sistem de intrare
-
- 1.2.0
Cerințe preliminare pentru acest sfat
Următoarele setări au fost făcute în avans ca premisă pentru descrierea acestui sfat.
Află cum să comuți între scene
O scenă este o așa-numită "scenă", dar Unity folosește cuvântul "scenă" așa cum este, așa că o voi explica cu expresia scenă.
Scenele comută adesea între scenele din joc. De exemplu, dacă porniți jocul din meniul de pornire și începe acțiunea, vă puteți gândi la acesta ca la un comutator de scenă. De asemenea, acțiunea de deschidere a ecranului meniului în timpul unei acțiuni va fi, de asemenea, un comutator de scenă în funcție de expresia meniului.
Acest tip de schimbare a scenei trebuie implementat în Unity și există multe modalități de a face acest lucru. De exemplu, ar trebui să existe o singură "Scenă (în unitate)" în joc. Când scena jocului se schimbă, toate obiectele din scena anterioară sunt aruncate și obiectele necesare sunt generate pentru scena următoare. Cu toate acestea, în timp ce această abordare are avantajul de a oferi o singură scenă, are dezavantajul de a trebui să gestioneze programatic tranzițiile obiectelor.
În acest sfat, aș dori să implementez o metodă de pregătire a cât mai multor fișiere "Scenă" câte scene există și plasarea obiectelor necesare în scenă în avans pentru comutarea scenelor. Comutarea între scenele reale este foarte ușoară, deoarece tot ce trebuie să faceți este să comutați între fișierele scenei.
Pregătirea scenei
În primul rând, creați un proiect normal. Se presupune că ați pregătit deja pachetul sistemului de intrare și ați configurat camera.
De data aceasta, vom pregăti două fișiere de scenă și vom implementa operația de a face clic pe butonul din prima scenă și de a trece la a doua scenă.
Scena SampleScene
existentă ar trebui să fie numită , deci schimbați acest lucru SampleScene1
în .
Apoi, faceți clic dreapta pe o zonă goală a proiectului și selectați "Scenă" din "Creați". De asemenea, îl puteți adăuga din butonul + de sub fila proiectului.
Va fi adăugat un nou fișier de scenă, deci numiți-l SampleScene2
.
SampleScene1
Faceți dublu clic pentru a deschide scena și plasați obiectul așa cum se arată mai jos.
Când faceți SampleScene2
clic pe buton, puteți trece la , astfel încât aspectul să poată fi adecvat.
SampleScene2
Faceți dublu clic pentru a deschide scena și plasați obiectul așa cum se arată mai jos.
Nu contează ce pui pentru că vrei doar să știi ce s-a schimbat.
După crearea scenei, deschideți "File > Build Settings" din meniu.
Scene incluse în SampleScene2
construcție.
Închideți setările de compilare odată ce sunt adăugate așa cum se arată mai jos.
Procesul de comutare a scenei
Comutarea scenelor se face prin script, așa că vă rugăm să creați un script. Numele este arbitrar, dar în acest caz SceneChange
este .
Scenariul arată astfel:
using UnityEngine;
using UnityEngine.SceneManagement; // 追加
public class SceneChange : MonoBehaviour
{
<summary>ボタンをクリックしたときに呼ばれます。</summary>
public void OnClick()
{
// 指定したシーンを読み込み他のシーンは削除します
SceneManager.LoadScene("SampleScene2", LoadSceneMode.Single);
}
}
Conținutul este foarte simplu SceneManager.LoadScene
și puteți comuta între scene prin metode de apelare.
Primul argument este numele scenei la care trebuie să treceți.
Dacă specificați ca LoadSceneMode.Single
al doilea argument, puteți deschide numai scena specificată în timp ce închideți scena curentă.
Există, de asemenea, un parametru numit pur și simplu adăugați LoadSceneMode.Additive
scenă, dar nu îl voi explica în acest articol.
După ce salvați scriptul, SampleScene1
deschideți-l și atașați-l la . EventSystem
Poate fi orice obiect pe care îl atașați.
Setați OnClick
evenimentul de clic al butonului la un obiect atașat, astfel încât SceneChange
metoda să poată fi apelată.
Încercați să rulați jocul și vedeți dacă scena se schimbă după ce faceți clic pe buton.