【问题标题】:How to make a scene run in background unity2d如何使场景在后台unity2d中运行
【发布时间】:2016-06-10 21:43:40
【问题描述】:

我正在做一个 Unity2D 项目,但我有点困惑。

让我们考虑有两个,scene1 和scene2,我使用SceneManager.LoadScene 来加载关卡。我正在使用 C# 编写代码。

所以当我从scence1 切换到scence2 时,scence1 会被销毁吗??还是会处于暂停状态? Scence1的情况会是什么。

【问题讨论】:

  • 值得注意的是,在普通项目中“加载场景”没什么大不了的。是的,您只需使用LoadScene 来“在场景之间来回切换”。就这么简单。

标签: c# unity3d unityscript unity5


【解决方案1】:

Application.LoadLevel 已弃用

你应该使用SceneManager.LoadScene

现在,当您加载 Scene2 时,Scene1 将被销毁,具体取决于为 SceneManager.LoadScene 提供的 SceneManagement.LoadSceneMode 参数。

此外,即使您选择删除场景,您调用DontDestroyOnLoad 的每个 GameObject 也不会被销毁:

void Awake() {
    DontDestroyOnLoad(transform.gameObject);
}

据我所知,现在没有办法在加载多个场景时暂停特定场景。您必须在代码中实现这一点。也许通过使用SceneManager.GetActiveScene

请随时改进此答案!

【讨论】:

    猜你喜欢
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多