Εναλλαγή μεταξύ σκηνών
Περιβάλλον επαλήθευσης
- παράθυρα
-
- Παράθυρα 11
- Επεξεργαστής ενότητας
-
- 2020.3.25στ1
- Πακέτο συστήματος εισόδου
-
- 1.2.0
Προϋποθέσεις για αυτήν τη συμβουλή
Οι ακόλουθες ρυθμίσεις έχουν γίνει εκ των προτέρων ως προϋπόθεση για την περιγραφή αυτής της συμβουλής.
Μάθετε πώς μπορείτε να κάνετε εναλλαγή μεταξύ σκηνών
Μια σκηνή είναι μια λεγόμενη "σκηνή", αλλά η Unity χρησιμοποιεί τη λέξη "σκηνή" ως έχει, οπότε θα την εξηγήσω με την έκφραση σκηνή.
Οι σκηνές συχνά εναλλάσσονται μεταξύ σκηνών στο παιχνίδι. Για παράδειγμα, εάν ξεκινήσετε το παιχνίδι από το μενού έναρξης και ξεκινήσει η δράση, μπορείτε να το σκεφτείτε ως διακόπτη σκηνής. Επίσης, η ενέργεια ανοίγματος της οθόνης μενού κατά τη διάρκεια μιας ενέργειας θα είναι επίσης ένας διακόπτης σκηνής ανάλογα με την έκφραση του μενού.
Αυτό το είδος εναλλαγής σκηνών πρέπει να εφαρμοστεί στο Unity και υπάρχουν πολλοί τρόποι για να το κάνετε. Για παράδειγμα, θα πρέπει να υπάρχει μόνο μία "Σκηνή (σε ενότητα)" στο παιχνίδι. Όταν αλλάξει η σκηνή του παιχνιδιού, όλα τα αντικείμενα από την προηγούμενη σκηνή απορρίπτονται και δημιουργούνται τα απαραίτητα αντικείμενα για την επόμενη σκηνή. Ωστόσο, ενώ αυτή η προσέγγιση έχει το πλεονέκτημα ότι παρέχει μόνο μία σκηνή, έχει το μειονέκτημα ότι πρέπει να διαχειριστεί προγραμματιστικά τις μεταβάσεις αντικειμένων.
Σε αυτή τη συμβουλή, θα ήθελα να εφαρμόσω μια μέθοδο προετοιμασίας όσων αρχείων "Σκηνής" υπάρχουν σκηνές και τοποθέτησης των απαραίτητων αντικειμένων στη σκηνή εκ των προτέρων για εναλλαγή σκηνών. Η εναλλαγή μεταξύ πραγματικών σκηνών είναι πολύ εύκολη, επειδή το μόνο που έχετε να κάνετε είναι να κάνετε εναλλαγή μεταξύ αρχείων σκηνής.
Προετοιμασία της σκηνής
Αρχικά, δημιουργήστε ένα κανονικό έργο. Υποτίθεται ότι έχετε ήδη προετοιμάσει το πακέτο συστήματος εισόδου και έχετε διαμορφώσει την κάμερα.
Αυτή τη φορά, θα ετοιμάσουμε δύο αρχεία σκηνής και θα εφαρμόσουμε τη λειτουργία του κλικ στο κουμπί στην πρώτη σκηνή και τη μετάβαση στη δεύτερη σκηνή.
Η SampleScene
υπάρχουσα σκηνή θα πρέπει να ονομάζεται , οπότε αλλάξτε το SampleScene1
σε .
Στη συνέχεια, κάντε δεξί κλικ σε μια κενή περιοχή του έργου και επιλέξτε "Σκηνή" από το "Δημιουργία". Μπορείτε επίσης να το προσθέσετε από το κουμπί + κάτω από την καρτέλα έργου.
Θα προστεθεί ένα νέο αρχείο σκηνής, οπότε ονομάστε SampleScene2
το .
SampleScene1
Κάντε διπλό κλικ για να ανοίξετε τη σκηνή και τοποθετήστε το αντικείμενο όπως φαίνεται παρακάτω.
Όταν κάνετε SampleScene2
κλικ στο κουμπί, μπορείτε να μεταβείτε στο , ώστε η διάταξη να είναι κατάλληλη.
SampleScene2
Κάντε διπλό κλικ για να ανοίξετε τη σκηνή και τοποθετήστε το αντικείμενο όπως φαίνεται παρακάτω.
Δεν έχει σημασία τι βάζετε γιατί απλά θέλετε να μάθετε τι έχει αλλάξει.
Αφού δημιουργήσετε τη σκηνή, ανοίξτε το "File > Build Settings" από το μενού.
Πτώση σε σκηνές που περιλαμβάνονται στην SampleScene2
κατασκευή.
Κλείστε τις Ρυθμίσεις κατασκευής μόλις προστεθούν όπως φαίνεται παρακάτω.
Διαδικασία εναλλαγής σκηνής
Η εναλλαγή σκηνής γίνεται με σενάριο, οπότε δημιουργήστε ένα σενάριο. Το όνομα είναι αυθαίρετο, αλλά στην περίπτωση SceneChange
αυτή είναι .
Το σενάριο μοιάζει με αυτό:
using UnityEngine;
using UnityEngine.SceneManagement; // 追加
public class SceneChange : MonoBehaviour
{
<summary>ボタンをクリックしたときに呼ばれます。</summary>
public void OnClick()
{
// 指定したシーンを読み込み他のシーンは削除します
SceneManager.LoadScene("SampleScene2", LoadSceneMode.Single);
}
}
Το περιεχόμενο είναι πολύ απλό SceneManager.LoadScene
και μπορείτε να κάνετε εναλλαγή μεταξύ σκηνών καλώντας μεθόδους.
Το πρώτο όρισμα είναι το όνομα της σκηνής στην οποία πρέπει να μεταβείτε.
Εάν ορίσετε ως LoadSceneMode.Single
δεύτερο όρισμα, μπορείτε να ανοίξετε μόνο την καθορισμένη σκηνή ενώ κλείνετε την τρέχουσα σκηνή.
Υπάρχει επίσης μια παράμετρος που ονομάζεται απλά προσθέστε LoadSceneMode.Additive
σκηνή, αλλά δεν θα το εξηγήσω σε αυτό το άρθρο.
Αφού αποθηκεύσετε τη δέσμη ενεργειών, SampleScene1
ανοίξτε την και επισυνάψτε την στο . EventSystem
Μπορεί να είναι οποιοδήποτε αντικείμενο στο οποίο συνδέεστε.
Ορίστε OnClick
το συμβάν κλικ του κουμπιού σε ένα αντικείμενο που είναι συνημμένο, ώστε να είναι δυνατή η κλήση της SceneChange
μεθόδου.
Δοκιμάστε να εκτελέσετε το παιχνίδι και δείτε αν το σκηνικό αλλάζει αφού κάνετε κλικ στο κουμπί.