我在2个脚本上有2个此IEnumerator实例。两者都是私人的,但是一个正在工作,另一个却没有。
这是第一个正常工作的
private IEnumerator EndGame()
{
yield return new WaitForSeconds(3);
SceneManager.LoadScene("Menu", LoadSceneMode.Single);
}
这是第二个无效的
private IEnumerator EndGame()
{
yield return new WaitForSeconds(3);
SceneManager.LoadScene("Menu", LoadSceneMode.Single);
}
它们是完全一样的。我可以调用IEnumerator(由Debug.Log证明),但是在一种情况下,它等待3秒钟,而在另一种情况下,它在return语句处停止并且不再继续。我还尝试重命名不起作用的协程,并将它们都设为私有,以防万一您不能拥有同名的协程,但这也行不通。我的时间刻度始终保持在1,而我称为“协程”的对象不会被破坏。
发生的一件奇怪的事情是我称之为“协程”的物体确实被销毁了,但是在3秒钟后(突出显示的玩家是一个名为“协程”的玩家,并且两个玩家都发生了同样的事情):