Εναλλαγή μεταξύ σκηνών

Σελίδα ενημέρωση :
Ημερομηνία δημιουργίας σελίδας :

Περιβάλλον επαλήθευσης

παράθυρα
  • Παράθυρα 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 μεθόδου.

Δοκιμάστε να εκτελέσετε το παιχνίδι και δείτε αν το σκηνικό αλλάζει αφού κάνετε κλικ στο κουμπί.