經過咱們使用Unity開發遊戲,是在PC/Mac上。而一個遊戲一般也會有不少的場景,好比A、B、C、D三個場景,正常流程下的執行順序是 A –> B –> C –> D。在具體一點,好比 A —— 啓動場景、B —— 資源加載場景、C —— 登陸場景、D —— 戰鬥場景。html
遊戲先啓動 –> 加載資源 –> 登陸 –> 進入戰鬥,而每每咱們可能會選中戰鬥場景,而後調試戰鬥場景,而此時點Play按鈕,運行Unity時,它會直接啓動戰鬥場景,若是你忘記選中 A 場景再點啓動,可能控制檯就會報錯,影響開發效率。如何解決呢?編輯器
Unity提供了相應不的API —— EditorSceneManager https://docs.unity3d.com/ScriptReference/SceneManagement.EditorSceneManager.htmlui
[MenuItem("BuildTools/PlayModeUseFirstScene", true)] static bool ValidatePlayModeUseFirstScene() { Menu.SetChecked("BuildTools/PlayModeUseFirstScene", EditorSceneManager.playModeFirstScene != null); return !EditorApplication.isPlaying; } [MenuItem("BuildTools/PlayModeUseFirstScene")] static void UpdatePlayModeUseFirstScene() { if (Menu.GetChecked("BuildTools/PlayModeUseFirstScene")) { EditorSceneManager.playModeFirstScene = null; } else { SceneAsset scene = AssetDatabase.LoadAssetAtPath<SceneAsset>(EditorBuildSettings.scenes[0].path); EditorSceneManager.playModeFirstScene = scene; } }
路徑的話,你能夠參考官方示例寫死,不過這裏建議使用構建設置中的默認配置。spa
EditorBuildSettings 的 scenes 就是 File –> Build Settings 中 Scenes In Build中的列表插件
https://docs.unity3d.com/ScriptReference/EditorBuildSettings-scenes.html3d
這樣不管你當前編輯的是哪一個場景,只要從新運行,都將執行第一個場景。上圖中就是「Scenes/Title Screen」這個場景了。調試
由於這個是給編輯器寫擴展插件,因此適當地瞭解插件的編寫仍是有必要的。常常使用的兩類:code
一、菜單:右鍵菜單、導航菜單欄擴展(包括子菜單);htm
二、窗口;blog
其它的的API,如拖拽、Help、Tools,須要用到的時候再去查看官方提供的API。