2017-08-18 190 views
0

所以我有一個問題。我有一個像地圖一樣的主場景。當我的角色離開場景並與某個物體發生碰撞時,我通常會加載另一個場景而無需加載屏幕。但現在我決定做一個加載屏幕。 「問題」是在我離開我的主場景後,我不得不加載加載屏幕,在加載屏幕後加載其他場景。是否有另一個製作加載屏幕,因爲加載加載屏幕也需要時間加載?我是否需要加載加載另一個場景的加載場景?

+0

不,從技術上講,您不需要「加載場景」。你可以在你的地圖場景中處理第二個場景的異步加載。 – Hellium

+0

[LoadSceneAsync](https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadSceneAsync.html)可以幫助您,如果您仍然需要加載屏幕。 – ryeMoss

+0

@ryemoss因此,基本上你是說我應該在我的加載場景中加載我的第二個場景,或者我應該在我的第一個場景中加載我的加載屏幕? – KeyNavas

回答

1

工作流可能會因不同的人而有所不同。這裏是我遵循的工作流程:

你必須有一個只有UI的主菜單場景,用於加載你的第一場比賽場景。之所以這樣做,是爲了確保您的應用非常快速地加載並且還可以通過Google Play和Appstore測試。

第一次加載應用程序後,您不需要再次加載該主菜單場景。你要做的是創建一個UI面板,其中TextImage組件顯示加載場景的狀態爲AsyncOperation.progress。您可以瞭解更多關於加載場景here的信息。您可以使用gameObject.SetActive啓用或禁用此UI面板。您還必須確保在添加DontDestroyOnLoad(gameObject);到新場景時,此UI GameObject不會破壞。

+0

所以基本上你的意思是當我加載一個新的地圖/場景時,啓用面板並在加載地圖之後我禁用/使其不可見。你是否也在後臺加載一些場景?爲了訪問加載的地圖「更快」/你不必在最後加載它? – KeyNavas

+0

是的,您啓用UI面板來顯示加載狀態。加載完成後,您將禁用面板,然後激活加載的場景。是的,您使用'SceneManager.LoadSceneAsync'在後臺加載場景,以便您可以在屏幕上看到狀態。 *「爲了訪問加載的地圖」更快「/你不必在最後加載它?」*我不明白這個問題 – Programmer

+0

我的意思是,當你加載一個場景不在後臺需要一些時間直到整個場景被加載。至少這是我加載場景時發生的情況。如果我在後臺加載一個場景,場景是否會立即打開,或者我可以在什麼時候進入場景? – KeyNavas