Unity协程(一) yield return null 和yield return new WaitForSeconds()

转载文: https://blog.csdn.net/fdyshlk/article/details/72667814

1.yield return null  等待下一帧执行。等同于 yield return 0 ,yield return 1。这里数字不管填多少,都是等待下一帧接着处理

Unity协程(一) yield return null 和yield return new WaitForSeconds()_第1张图片

像这样,在Start里开一个协程,即使下一帧start已经没有执行了,222依然被打印出来,原理也简单,因为它本就可以理解为另外开启的线程,即使start不执行了,也不会对它有任何影响。

2.yield return new WaitForSeconds,这个要注意的是1·实际时间等于给定的时间除以Time.timeScale的值。2·触发间隔一定大等于1中计算出的实际时间,而且误差的大小取决于帧率,因为它是在每帧处理协程的时候去计算时间间隔是否满足条件,如果满足则继续执行。例如,当帧率为5的情况下,一帧的时间为200ms,这时即使时间参数再小,最快也要200ms之后才能继续执行剩余部分。

之后,根据上图 yield 是在yield return new WaitForSeconds()之前处理

你可能感兴趣的:(Unity,API)