如何使循环每2秒执行一次迭代并获得收益

本文关键字:迭代 一次 收益 循环 何使 2秒 执行 | 更新日期: 2023-09-27 18:19:38

无法理解协同程序工作的逻辑。在我的例子中,正如我所理解的,循环必须每两秒钟执行一次迭代,但在启动程序后,它会等待两秒钟,然后执行整个循环。

不明白,怎么了。

    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;
        }
    }

如何使循环每2秒执行一次迭代并获得收益

循环的每一步都应该等待:

IEnumerator MyCoroutine()
{
    for (int i = 0; i < 5; i++)
    {
        Debug.Log(i); // before waiting
        yield return new WaitForSeconds(2.0f);
        // after waiting
    }
}