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”!