網頁

2018年4月27日 星期五

[Unity] 如何切換場景?

場景(scene)是Unity開發環境中的一個基本單位,
一個結構完整的遊戲通常包含兩個或兩個以上場景,
例如:開始畫面、遊戲本身、結束或重玩畫面等。
那麼,我們該如何讓遊戲在多個場景間切換呢?


1. 首先,預備好您所需要的多個場景

    

    此範例有三個場景,分別是startScene、gameScene、gameComplete
    startScene 顯示的是一個立方體
    gameScene 顯示的是「第二個scene」
    gameComplete 顯示的是「第三個scene」
    分別存檔




2. 把會用到的場景加入build settings,獲得編碼


    按下File→Build settings會跳出上面視窗
 
    選擇你要build的場景 [step①]
         將你要build的scene拖曳進來 [step①]
         或者按下Add Open Scenes按鈕 [step①]
         勾選或取消勾選你所要使用的scene [step③]
    每個scene最右邊會產生數字 [step②]

    在這個例子裡
        startScene 場景,專屬編碼顯示0
        gameScene場景,專屬編碼顯示1
        gameComplete 場景專屬編碼顯示2

    選擇您想要建置的平台
        只要點選並按下Switch Platform,就可以切換平台[step④⑤]
        這個例子選擇在本機產生standalone的執行檔
 
    完成設定後,點擊build,即可執行 [step⑥]

    註:初始場景是編號為0的場景


3. 在你要切換場景的條件設定下,編寫程式碼



       如上圖所示
       切換場景所使用的是SceneManager.LoadScene(專屬編碼或場景名稱)這個指令 [step③]
               在這個例子裡   SceneManager.LoadScene(1)           
               也可以寫成       SceneManager.LoadScene("gameScene")
                                                              → 代表切換到1場景,也就是gameScene

       這個指令的使用必須事先宣告 using UnityEngine.SceneManagement;  [step①]

       在這個例子裡,所設定的條件是,假如按下鍵盤上的N,就執行以下程序 [step②]
     
       [註解] 以前版本的Unity,切換場景的指令是Application.LoadLevel( );
                   我所使用的Unity版本是2017.3.1f1 Personal (64bit) ,上述指令已不敷使用。


4. 測試結果
   
                                                                    [* 觀賞Youtube影片內容時,請點擊字幕圖示]

      這個例子中,是用按下鍵盤按鍵N來切換場景。
      從startScene切換到 gameScene,再切換到 gameComplete。
 


在Youtube裡面,還有一些關於切換場景的教學影片,
其中不乏場景切換的華麗特效,有興趣的可自行前往觀賞。
影片1:Simple Scene Transition for Unity [前往]




本文參考出處:羽毛的電玩新手村





3 則留言:

  1. "在你要切換場景的條件設定下‵" 請問所以這個程式碼要丟到哪個位置?

    回覆刪除
    回覆
    1. script無法獨立存在,您必須先在舞台上新增一個empty GameObject,幫這個遊戲物件(GameObject)新增component,亦即:new script,把這段程式碼寫在這個script裡面,應該就可以運作了。

      刪除