如何在加载的场景之间切换

时间:2020-04-09 12:37:06

标签: unity3d

我是一个刚开始从事项目工作的人。 我想处理多个场景。

我的某些场景类似于游戏中的选项菜单。

在主屏幕上,我想打开一个选项场景,完成后,我想回到我的主场景,而当我回来时,我想在选项场景打开之前将所做的事情保留在主场景中

我可以使用SceneManager更改场景,但是它将屏幕加载为新屏幕,就像我什么都不做一样 是否可以在已加载的场景之间切换而无需再次加载?我认为如果是的话;我可以从主要场景继续进行 如果不是这样,我如何继续我的进度(我是否必须保留所有数据,以及场景何时从该数据开始加载?)

2 个答案:

答案 0 :(得分:0)

您可以使用要保留的值创建一个类并将其放在游戏对象上 并使用DontDestroyOnLoad(this.gameObject);因此在加载新场景时不会删除该对象

答案 1 :(得分:-1)

SceneManager类提供了许多有用的方法来管理场景。您可以找到文档here

使用多个场景来分隔逻辑是一种很好的方法,并且在加载新场景时使用LoadSceneMode.Additive选项可以使一个场景与另一个场景同时加载。

要实现所需的功能,您大致需要执行以下操作:

  1. 加载主菜单场景。
  2. 通过类似SceneManager.LoadScene("path/to/options/scene.unity", LoadSceneMode.additive)的调用来加载选项场景。
  3. 将输入控件传递给其他场景。
  4. 完成后卸载选项场景。
  5. 主菜单场景将一直加载,并且您将不必“记住”任何值或使用DontDestroyOnLoad

另一个选择是将所有菜单功能包含在一个场景中,并在多个画布之间切换。您可以找到有关here的信息。

相关问题