【问题标题】:How to load/get to/from scene variables via loadlevel with scenemanager in unity3d programmatically如何以编程方式在unity3d中使用scenemanager通过loadlevel加载/获取/从场景变量中加载/获取/获取场景变量
【发布时间】:2017-03-28 04:45:00
【问题描述】:

自从

Application.LoadLevel(level); 

建议弃用和新的SceneManager,我想问如何使用它来加载/获取简单的参数,如字符串类型以及生命周期的哪些功能是最佳实践?(如StartAwake

SceneManager.LoadScene("resultScene", chosenOptions);

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

【问题讨论】:

  • @umair-m 似乎是一个不错的方法。正如您链接的那样,所有其他方式都涉及创建静态类(基本上与不破坏游戏对象相同)。

标签: c# variables unity3d scene scene-manager


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多