无法理解协程工作的逻辑。在我的例子中,据我所知,循环必须每两秒执行一次迭代,但在启动程序后,它会等待两秒钟并执行整个循环。
无法理解,有什么不对。
void Start ()
{
StartCoroutine ("MyCoroutine");
}
IEnumerator MyCoroutine()
{
yield return new WaitForSeconds(2.0f);
for (int i = 0; i < 5; i++)
{
Debug.Log(i); // It must execute ont time per 2 seconds?
yield return null;
}
}
答案 0 :(得分:1)
你应该等待循环的每一步:
IEnumerator MyCoroutine()
{
for (int i = 0; i < 5; i++)
{
Debug.Log(i); // before waiting
yield return new WaitForSeconds(2.0f);
// after waiting
}
}