Unity⭐️当Unity协程遇到while
Posted 小星河丨U3D开发支持
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity⭐️当Unity协程遇到while相关的知识,希望对你有一定的参考价值。
文章目录
Unity协程是一个老生常谈的知识点了,但今天博主却差点被一篇文章忽悠了
那就是这句话:
为什么说这句话不对呢
那就是当遇到while时,我们再来检验这句话的正确性:
按上面那句话,应该每次yield return后,都会跳到StartCoroutine,去执行 print(111);
会无限次的执行Start里的方法。
private void Start()
StartCoroutine(CalculateFramesPerSecond());
print(111);
private IEnumerator CalculateFramesPerSecond()
while (true)
yield return new WaitForSecondsRealtime(1.0f);
print(222);
但实际是这样嘛?
实际只输出了:
111
222
222
222
...
我们在做测试时也会发现,只有第一次执行了print(111),后面便不再执行了,后面每次都循环while里的内容。
那为什么会这样呢?实际上是:
yield return是等待的意思,当程序执行到yield return时,会先不执行下面的程序。返回去执行未执行完的程序。
当程序觉得等够了时间,诶,程序就回来执行yield return后面的东西了。
yield return并不是返回到StartCoroutine,yield return是等待。
大家还有什么问题,欢迎在下方留言!
如果你有 技术的问题 或 项目开发
都可以加下方联系方式
和我聊一聊你的故事🧡
以上是关于Unity⭐️当Unity协程遇到while的主要内容,如果未能解决你的问题,请参考以下文章