Unity⭐️当Unity协程遇到while

简介: 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最常见的面试题-02
unity最常见的面试题,总有一题是你急需的!
|
vr&ar 图形学
【Unity3D 灵巧小知识点】 ☀️ | 让Unity支持后台运行
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
【Unity3D 灵巧小知识点】 ☀️ | 让Unity支持后台运行
|
2月前
|
编解码 图形学 Android开发
|
2月前
|
图形学
小功能⭐️Unity UnityEvent实现代码的选择
小功能⭐️Unity UnityEvent实现代码的选择
|
2月前
|
图形学
|
4月前
|
图形学
【unity知识点】Unity 协程/携程Coroutine
【unity知识点】Unity 协程/携程Coroutine
178 0
|
11月前
|
并行计算 Java C#
Unity 从各个点理解协程
Unity 从各个点理解协程
59 0
|
缓存 Java 调度
Unity最常见的面试题-01
unity最常见的面试题,总有一题是你急需的!
|
存储 Java C#
Unity最常见的面试题-03
unity最常见的面试题,总有一题是你急需的!
|
人工智能 算法 图形学
Unity最常见的面试题-04
unity最常见的面试题,总有一题是你急需的!