我需要在统一中创建一个无限循环而不使用主线程?我看到了一些例子,但没有用:

while(true){
         var aa;
         debug.log("print.");
}

我想加上一些延迟,比如2秒。如果有人知道解决办法,请帮忙。

最佳答案

使用此项创建循环;

private IEnumerator LoopFunction(float waitTime)
{
    while (true)
    {
        Debug.Log("print.");
        yield return new WaitForSeconds(waitTime);
        //Second Log show passed waitTime (waitTime is float type value )
        Debug.Log("print1.");
    }
}

对于调用函数,不要使用Update()FixedUpdate(),使用类似于Start()的东西,这样就不会创建循环的无限实例;
 void Start()
 {
      StartCoroutine(LoopFunction(1));
 }

10-04 10:22