【发布时间】:2018-10-29 15:30:17
【问题描述】:
我是一个初学者,我对协程的了解非常有限。 我让 Coroutine1 生成两个列表,而 Coroutine2 将使用这两个列表。这样做时:
void test ()
{
StartCoroutine (Coroutine1);
StartCoroutine (Coroutine2);
}
只生成了一个列表,导致 Coroutine2 内部出错。 但如果我这样做:
IEnumerator Coroutine1(){
for (int i = 0; i < numberOfListsToBeGenerated; i++) {
//generate List
yield return StartCoroutine(Coroutine2());
}
}
Unity 冻结了。我正在使用协程来解决优化问题,因为生成列表会导致冻结。
【问题讨论】:
-
列表是否可以/被用作类属性?
-
Coroutine1中生成的两个列表是Class1类型的Object1和Object2的属性。 Coroutine2 是从 Object1.List 和 Object2.List 生成 List3 并将其用作 Class2 类型的 Object3 的属性。
-
你试过把
yield return new WaitForEndofFrame -
waitForEndOfFrame 没有帮助,没有任何改变
标签: c# unity3d coroutine ienumerator