0

我已经在网上搜索过,还有这个链接,还有这个链接,但是没有找到我现在遇到的具体问题。

我有一个带有 2 个按钮的主场景,每个按钮都应该打开其他场景(按钮 1 => 场景 1,按钮 2 => 场景 2),并且在每个场景中我都有一个返回按钮,应该返回到主场景.

我设法成功地做到了,但是当我使用 a 时Coroutine,我可以在加载下一个场景时延迟 2 秒,当我单击“返回主场景”按钮时出现以下错误:

Coroutine couldn't be started because the the game object 'Scene Loader' is inactive!

这是我的代码:

public class SceneLoader : MonoBehaviour {

    private bool check = true;

    public void LoadNextScene(int numberOfScene)
    {  
        StartCoroutine(LoadAfterSeconds(numberOfScene));    
    }

    private IEnumerator LoadAfterSeconds(int numberOfScene)
    {
        while (check)
        {
            yield return new WaitForSeconds(2f);

            SceneManager.LoadScene(numberOfScene);
        }

    }

} 

当我在主屏幕中并单击按钮 1 或 2 进入其他场景时,它会在 2 秒后按预期工作,但是当我单击“返回主场景”时,它什么也没做,我得到了游戏对象“场景加载器”处于非活动状态的错误!

我知道我可以使用 Invoke() 但我想了解我做错了什么。

任何帮助表示赞赏。

谢谢你。

4

0 回答 0