在場景之間切換
驗證環境
- 窗戶
-
- 視窗 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
。
嘗試運行遊戲,看看點擊按鈕后場景是否發生變化。