gpt4 book ai didi

c# - 为什么这个协程只运行一次?

转载 作者:行者123 更新时间:2023-12-05 01:47:01 28 4
gpt4 key购买 nike

"Something"只打印一次...

IEnumerator printSomething;

void Start () {

printSomething = PrintSomething();
StartCoroutine (printSomething);

}

IEnumerator PrintSomething () {

print ("Something");

yield return null;
StartCoroutine (printSomething);

}

最佳答案

您的方法的错误在于您保存了枚举器。枚举器已经在“枚举”,因此将枚举器提供给 StartCoroutine 方法两次基本上会导致协程直接退出,因为枚举器之前已被使用。再次调用该函数即可再次启动协程。

StartCoroutine(PrintSomething());

但是不要一遍又一遍地启动协程,而是尝试在内部使用循环。

while (true)
{
print("something");
yield return null;
}

这更好,因为协程的内部处理及其开销是未知的。

关于c# - 为什么这个协程只运行一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32282029/

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