我需要在 Unity 中创建一个无限循环而不使用主线程?我看到了一些例子,但它没有用:
while(true){
var aa;
debug.log("print.");
}
我想添加一些延迟,例如2秒。如果有人知道解决方案请帮忙。
首先定义一个协程 https://docs.unity3d.com/Manual/Coroutines.html:
private IEnumerator InfiniteLoop()
{
WaitForSeconds waitTime = new WaitForSeconds(2);
while (true)
{
//var aa;
Debug.Log("print.");
yield return waitTime;
}
}
然后这样称呼它:
StartCoroutine(InfiniteLoop());
添加注释:
如果你碰巧改变Time.timeScale
并且不希望影响延迟时间,请使用:
yield return new WaitForSecondsRealtime(2);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)