Passare da una scena all'altra

Pagina aggiornata :
Data di creazione della pagina :

Ambiente di verifica

Finestre
  • Windows 11
Unity Editor
  • 2020.3.25F1
Pacchetto del sistema di input
  • 1.2.0

Prerequisiti per questo suggerimento

Le seguenti impostazioni sono state effettuate in anticipo come premessa per la descrizione di questo suggerimento.

Scopri come passare da una scena all'altra

Una scena è una cosiddetta "scena", ma Unity usa la parola "scena" così com'è, quindi la spiegherò con l'espressione scena.

Le scene spesso passano da una scena all'altra del gioco. Ad esempio, se avvii il gioco dal menu Start e inizia l'azione, puoi pensarlo come un cambio di scena. Inoltre, l'azione di apertura della schermata del menu durante un'azione sarà anche un cambio di scena a seconda dell'espressione del menu.

Questo tipo di cambio di scena deve essere implementato in Unity e ci sono molti modi per farlo. Ad esempio, dovrebbe esserci solo una "Scena (in Unity)" nel gioco. Quando la scena di gioco cambia, tutti gli oggetti della scena precedente vengono scartati e gli oggetti necessari vengono generati per la scena successiva. Tuttavia, sebbene questo approccio abbia il vantaggio di fornire una sola scena, presenta lo svantaggio di dover gestire a livello di codice le transizioni degli oggetti.

In questo suggerimento, vorrei implementare un metodo per preparare tanti file "Scena" quante sono le scene e posizionare gli oggetti necessari nella scena in anticipo per cambiare scena. Passare da una scena reale all'altra è molto semplice perché tutto ciò che devi fare è passare da un file di scena all'altro.

Preparazione della scena

Innanzitutto, crea un progetto normale. Si presuppone che il pacchetto del sistema di input sia già stato preparato e configurato la telecamera.

Questa volta, prepareremo due file di scena e implementeremo l'operazione di fare clic sul pulsante nella prima scena e passare alla seconda scena.

La SampleScene scena esistente dovrebbe essere denominata , quindi cambialo SampleScene1 in .

Quindi, fai clic con il pulsante destro del mouse su un'area vuota del progetto e seleziona "Scena" da "Crea". Puoi anche aggiungerlo dal pulsante + sotto la scheda del progetto.

Verrà aggiunto un nuovo file di scena, quindi chiamalo SampleScene2 .

SampleScene1 Fare doppio clic per aprire la scena e posizionare l'oggetto come illustrato di seguito. Quando si SampleScene2 fa clic sul pulsante, è possibile passare a , in modo che il layout possa essere appropriato.

SampleScene2 Fare doppio clic per aprire la scena e posizionare l'oggetto come illustrato di seguito. Non importa cosa metti perché vuoi solo sapere cosa è cambiato.

Dopo aver creato la scena, apri "File > Build Settings" dal menu.

Elimina le scene incluse nella SampleScene2 build.

Chiudi le impostazioni di compilazione una volta aggiunte come mostrato di seguito.

Processo di cambio scena

Il cambio di scena viene eseguito tramite script, quindi crea uno script. Il nome è arbitrario, ma in questo caso SceneChange è .

Lo script è simile al seguente:

using UnityEngine;
using UnityEngine.SceneManagement;  // 追加

public class SceneChange : MonoBehaviour
{
  /// <summary>ボタンをクリックしたときに呼ばれます。</summary>
  public void OnClick()
  {
    // 指定したシーンを読み込み他のシーンは削除します
    SceneManager.LoadScene("SampleScene2", LoadSceneMode.Single);
  }
}

Il contenuto è molto semplice SceneManager.LoadScene e puoi passare da una scena all'altra chiamando metodi.

Il primo argomento è il nome della scena a cui passare.

Se specificate come LoadSceneMode.Single secondo argomento, potete aprire solo la scena specificata mentre chiudete la scena corrente. C'è anche un parametro chiamato semplicemente aggiungi LoadSceneMode.Additive scena, ma non lo spiegherò in questo articolo.

Dopo aver salvato lo script, SampleScene1 aprirlo e collegarlo a . EventSystem Può essere qualsiasi oggetto a cui ti alleghi.

Impostare OnClick l'evento click del pulsante su un oggetto associato in modo che il SceneChange metodo possa essere chiamato.

Prova a eseguire il gioco e vedi se la scena cambia dopo aver fatto clic sul pulsante.