我已经在网上搜索过,还有这个链接,还有这个链接,但是没有找到我现在遇到的具体问题。
我有一个带有 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() 但我想了解我做错了什么。
任何帮助表示赞赏。
谢谢你。