我已经在互联网上搜索过这个link和这个link,但是没有找到我现在遇到的具体问题。
我有一个带有2个按钮的主场景,其中每个按钮应打开其他场景(按钮1 =>场景1,按钮2 =>场景2),在每个场景中,我都有一个后退按钮,应返回到主要场景。
我设法成功完成了该操作,但是当我使用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(),但我想了解自己做错了什么。
感谢您的帮助。
谢谢。