【问题标题】:Loading Next Level加载下一个级别
【发布时间】:2019-12-03 00:02:30
【问题描述】:

我正在使用 Unity 制作游戏。目前有两个级别。我数到30秒,当时间变为0时,我想自动加载下一个级别。但是当加载下一个级别时,游戏屏幕冻结,我无法移动任何东西。我用来加载下一个关卡的函数如下(这个函数在一个脚本中,其中一个空的游戏对象在加载新关卡时不会被销毁):

function loadNextlvl(){
        var cur_level = Application.loadedLevel;
        yield WaitForSeconds(5.0);
        Application.LoadLevel(cur_level + 1);
    }

我该怎么办?

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    我使用 Unity 的工作只是出于爱好,但每当我使用 Application.LoadLevel 时,我都会向它传递关卡名称的字符串,而不是指针。我从 API 中看到它也重载了一个 int,但可能出于测试目的,按名称调用它以查看它是否有效。

    此外,您需要告诉 Unity 您将要使用的关卡。您可以在文件菜单的“构建设置”中执行此操作。

    最后,您可以尝试使用Application.levelCount 来查看您是否在关卡范围内。

    【讨论】:

    • 我也安排了构建设置,但我认为问题不在于那个。在同一个脚本中,我使用了这个函数: function Awake(){ DontDestroyOnLoad(gameObject);这会导致问题吗?
    • 谢谢,我解决了我的问题。我将同一个游戏对象复制到其他场景中,它正确加载了下一个关卡。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-19
    • 2022-01-15
    • 2016-05-11
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 2021-11-24
    相关资源
    最近更新 更多