Unity Coroutine Yields还会继续更新变量

时间:2014-12-14 03:56:18

标签: unity3d coroutine yield-return

我正在寻找这个协程每秒更新一个变量:

int i = 0;

void Start()
{
    StartCoroutine ("MyCoRoutine");
}

IEnumerator MyCoRoutine()
{
    while ( true )
    {
        print ("Counter Value: " + i++);
        yield return new WaitForSeconds(1f);
    }
}

我希望控制台调试每秒显示一个递增值,相反,它会每秒更新一次但是使用非连续值:

计数器值:0 UnityEngine.MonoBehaviour:打印(对象) c__Iterator0:MoveNext()(在Assets / building.cs:81)

专柜价值:51 UnityEngine.MonoBehaviour:打印(对象) c__Iterator0:MoveNext()(在Assets / building.cs:81)

专柜价值:119 UnityEngine.MonoBehaviour:打印(对象) c__Iterator0:MoveNext()(在Assets / building.cs:81)

等。

我不理解会导致这种奇怪现象的协程/产量?

0 个答案:

没有答案