在場景之間切換

更新頁 :
頁面創建日期 :

驗證環境

窗戶
  • 視窗 11
統一編輯器
  • 2020.3.25f1
輸入系統包
  • 1.2.0

此提示的先決條件

作為此提示描述的前提,已預先進行了以下設置。

瞭解如何在場景之間切換

場景是所謂的「場景」,但Unity按原樣使用「場景」一詞,所以我會用表達式場景來解釋它。

場景經常在遊戲中的場景之間切換。 例如,如果從開始功能表啟動遊戲並啟動操作,則可以將其視為場景切換。 此外,在操作過程中打開功能表螢幕的操作也將是場景切換,具體取決於功能表表達式。

這種場景切換需要在 Unity 中實現,並且有很多方法可以做到這一點。 例如,遊戲中應該只有一個“場景(在 Unity 中)”。 當遊戲場景更改時,將丟棄上一場景中的所有物件,併為下一個場景生成必要的物件。 但是,雖然此方法的優點是只提供一個場景,但它的缺點是必須以程式設計方式管理物件轉換。

在此技巧中,我想實現一種方法,即準備盡可能多的「場景」檔,並提前在場景中放置必要的物件以切換場景。 在實際場景之間切換非常容易,因為您所要做的就是在場景文件之間切換。

準備場景

首先,創建一個普通專案。 假設您已經準備好了輸入系統包並配置了攝像機。

這次我們將準備兩個場景檔,實現第一個場景中點擊按鈕,過渡到第二個場景的操作。

SampleScene現有場景應命名為 ,因此請將其SampleScene1更改為 。

接下來,右鍵按兩下專案的空白區域,然後從「創建」中選擇「場景」。 您也可以從項目選項卡下方的 + 按鈕添加它。

將添加一個新的場景檔,因此將其命名 SampleScene2 為 .

SampleScene1 按兩下以打開場景並放置物件,如下所示。 SampleScene2 按兩下該按鈕時,可以過渡到,以便布局合適。

SampleScene2 按兩下以打開場景並放置物件,如下所示。 你放什麼並不重要,因為你只想知道發生了什麼變化。

創建場景后,從功能表中打開「檔>構建設置」。

放入構建中包含的 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 第二個參數,則在關閉當前場景時只能打開指定的場景。 還有一個參數叫做 Simply add LoadSceneMode.Additive scene,但本文就不解釋了。

儲存文稿後,開啟文稿並將其 SampleScene1 附加到 。 EventSystem 它可以是您附加到的任何物件。

將按鈕的按兩下事件設置為OnClick附加到的物件,以便可以調用該方法SceneChange

嘗試運行遊戲,看看點擊按鈕后場景是否發生變化。