Unity的脚本只支持单线程,不过它引入了C#语言协程的概念,可以用来模拟多线程,而不是真正的多线程。举个实际点的例子,每等一秒就创建一个游戏对象, 这在Update()中写就比较麻烦,但是引人协程的概念后,就可以直接用for循环来写了。使用StartCoroutine()方法,即可启动一个协程任务。在for循环中,我们使用yield return 语句,告诉Unity需要等待多久再执行下一个循环。
在协程任务启动的过程中,如果需要重新启动它,必须停掉之前的协程。每次启动协程时,StartCoroutine ()将返回这个协程的对象,需要停止的时候使用stopCoroutine()传入对象即可。当然,也可以调用StopAllCorout ines ()停止这个脚本所启动的所有协程任务。