如何通过编程方式使用unity3d中的scenemand通过loadlevel加载/获取场景变量

时间:2016-11-14 14:04:19

标签: c# variables unity3d scene scene-manager

Application.LoadLevel(level); 

已弃用且提出了新的SceneManager,我问如何使用它来加载/获取字符串类型等简单参数以及生命周期函数最佳实践?(例如StartAwake

SceneManager.LoadScene("resultScene", chosenOptions);

注意简化:除了编写新课程such as之外还有其他选择吗?

1 个答案:

答案 0 :(得分:5)

Unity中的内容与本机移动应用程序的工作方式不同。在加载时,您不需要传递参数以在下一个场景中使用它们。只需在第一个场景中的空对象上添加一个脚本,其中包含DontDestroyOnLoad,并将值保存在此脚本中。由于此对象将在游戏生命周期中保持不变,因此您可以将值存储在此脚本中。并在加载新场景之前更新它们。然后在新场景的开始等中使用它们。

您可以查看callback execution order并选择适合您需求的方法。

Read more关于预加载的场景/对象