【发布时间】:2015-02-04 14:46:33
【问题描述】:
我有一个在游戏开始时打开的场景。让我们称这个场景为“开始”。它有一个新的游戏按钮,通过加载新场景来开始游戏。这个场景被称为“游戏”。游戏在“游戏”场景结束后,我想打开“开始”场景。
我为此使用 Application.LoadLevel("Start")。但是当再次打开“开始”场景时,所有游戏对象都被删除,除了我使用 DontDestroyOnLoad() 的那些。如果我在“开始”场景中暂停游戏,游戏对象会返回,但在检查器中分配的任何脚本中都为 null。
我不能对“开始”场景中的每个对象都使用 DontDestryOnLoad,因为它们对于“游戏”场景完全没用。
我也尝试过 Application.LoadLevelAdditive 但会给出与 DontDestroyOnLoad 相同的结果。
因此我想要的过渡是开始 -> 游戏 -> 开始 -> 游戏......
并且每次场景都可以从新的游戏对象开始或重用现有的游戏对象。但是在“游戏”场景中不需要“开始”中的对象,而在“开始”中只需要“游戏”场景的分数对象,我在其上应用了 DontDestroyOnLoad。该对象将在“开始”场景中的对象上写入分数。
【问题讨论】:
标签: unity3d