2017-04-11 89 views
-2

我在我的遊戲中有7個場景。其中一個場景是「玩」場景女巫是我的遊戲場景。在這場比賽中,一場比賽包括3輪。我在「MatchManager」腳本中保存了一些匹配數據,該腳本附加到具有單例的MatchManager遊戲對象,並且不會在加載時銷燬。腳本中的其他信息(PSceneManager)附加到一個gameObject(PSceneManager)屬於「正在播放」的場景。 在每一輪結束時,我改變一些數據,然後我必須再次加載「播放」場景。 這裏是我的問題:當它再次加載時,它會在一開始就停下來,甚至不會進入「啓動」功能(方法)。 (我有一個PSceneManager腳本中的單例,我刪除它,甚至檢查並尋找任何其他靜態值(沒有更多的靜態變量))Unity遊戲停止再次加載同一場景

我沒有想法什麼是我的問題??(任何想法是有幫助)

HEEELP PLEASE ......我STUCKS這裏...

回答

1

我不知道到底是什麼問題。一些更多的信息會有幫助。

如果我有這個問題,我會尋找腳本仍然有效的第一個也是最後一個時刻。

Unity已經爲我們構建了這個。就像Start()和Update()一樣,我們有OnEnable()和OnDisable()。因此,如果在這些MonoBehaviour函數中添加Debug.Log()語句,則知道腳本和對象是否仍處於活動狀態。

void OnEnable() { Debug.Log(gameobject.name + " is enabled"); } 
void OnDisable() { Debug.Log(gameobject.name + " is disabled"); } 

https://docs.unity3d.com/Manual/ExecutionOrder.html

+0

感謝您的指導。我用「OnEnable」和「OnDisable」進行檢查。所以看起來腳本(PSceneManager)不能再次啓用。但是從我看到的......,「正在播放」的場景再次加載。因爲我看到了第二次加載必須完成的變化(比如玩家順序,位置,文本......的變化),並且我檢查了Hierarchy。它包含「PSceneManager」遊戲對象,該對象包含「PSceneManager」腳本,該腳本是啓動場景後必須立即開始工作的目標腳本。每一個事情似乎都是正確的,但「開始」方法無法啓動(我使用Debug.Log進行了檢查) – Armamedia

+0

我看到另一件可能對您有用的事情來幫助我。在層次結構中,我看到「正在播放(正在加載)」,甚至在我按播放之前,我也無法刪除它! (刪除場景不起作用)我以前沒有看到過這樣的事情。這是什麼?當我開始遊戲時,它仍然存在,當我停止遊戲時,另一個遊戲添加到了遊戲結構中:「玩(未加載)!!! – Armamedia

+0

最後,我沒有找到解決方案,我更改了代碼結構。 – Armamedia