3 回答

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
代碼中的 afterRun 是一個(gè)函數(shù),但您在調(diào)用它時(shí)不使用括號(hào)。所以:
StartCoroutine (afterRun());
例如:
namespace someNamespace
{?
? ? public class SomeClass
? ? {
? ? ? ? IEnumerator afterRun()
? ? ? ? {
? ? ? ? ? ? yield return new WaitForSeconds(3);? ? ? ? ? ??
? ? ? ? }
? ? ? ? public void Test(IEnumerator enumerator)
? ? ? ? {
? ? ? ? ? ? while(enumerator.MoveNext())
? ? ? ? ? ? {
? ? ? ? ? ? ? ? //do some work
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? public void YoureCode()
? ? ? ? {
? ? ? ? ? ? Test(afterRun());
? ? ? ? }
? ? }
? ? public class WaitForSeconds
? ? {
? ? ? ? public WaitForSeconds(int a)
? ? ? ? {? ? ? ? ? ??
? ? ? ? }
? ? }
}

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
為什么不這樣:
private IEnumerator coroutine;
然后設(shè)置并調(diào)用它:
coroutine = afterRun();
StartCoroutine(coroutine);

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
根據(jù) Unity協(xié)程的文檔,看來協(xié)程函數(shù)必須被調(diào)用為StartCoroutine ("afterRun");
- 3 回答
- 0 關(guān)注
- 344 瀏覽
添加回答
舉報(bào)