gpt4 book ai didi

unity-game-engine - 为什么协程继承自IEnumerator?

转载 作者:行者123 更新时间:2023-12-02 07:33:30 26 4
gpt4 key购买 nike

IEnumerator 继承如何使该方法表现得像协程?这一定和编译器有一定关系吧?

IEnumerator Fade() 
{
for (float ft = 1f; ft >= 0; ft -= 0.1f)
{
Color c = renderer.material.color;
c.a = ft;
renderer.material.color = c;
yield return null;
}
}

最佳答案

根据Microsoft's C# documentation , IEnumerator 只是一个用于迭代对象集合的有用接口(interface)。它定义了一个 MoveNext() 方法和一个 Reset() 方法来导航它所附加到的集合。协程可以跨多个帧执行,因此 Unity 可能会使用 IEnumerator 在每一帧进行时迭代协程的状态更改。

您可以在 Unity 源代码中的 MonoBehavior 绑定(bind)中找到 Coroutine 方法的声明 here .

关于unity-game-engine - 为什么协程继承自IEnumerator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58452853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com