Unity3d Unity协同程序产生变量,但也会继续更新变量

Unity3d Unity协同程序产生变量,但也会继续更新变量,unity3d,coroutine,yield-return,Unity3d,Coroutine,Yield Return,我正在寻找每秒更新一个变量的协同程序: int i = 0; void Start() { StartCoroutine ("MyCoRoutine"); } IEnumerator MyCoRoutine() { while ( true ) { print ("Counter Value: " + i++); yield return new WaitForSeconds(1f); } } 我希望控制台调试每秒显示一个递增

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

int i = 0;

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

IEnumerator MyCoRoutine()
{
    while ( true )
    {
        print ("Counter Value: " + i++);
        yield return new WaitForSeconds(1f);
    }
}
我希望控制台调试每秒显示一个递增的值,相反,它确实每秒更新一次,但使用非连续值:

计数器值:0 UnityEngine.MonoBehavior:打印(对象) c__迭代器0:MoveNext()(位于Assets/building.cs:81)

计数器值:51 UnityEngine.MonoBehavior:打印(对象) c__迭代器0:MoveNext()(位于Assets/building.cs:81)

计数器值:119 UnityEngine.MonoBehavior:打印(对象) c__迭代器0:MoveNext()(位于Assets/building.cs:81)

等等


我对会导致如此奇怪现象的协同程序/收益率有什么不理解?

您没有做任何奇怪的事情,比如创建多个协同程序,将变量设置到其他位置?谢谢,更像是我做了一些愚蠢的事情,在Update()中使用了“I”!