unity系統與協程

2021-10-04 08:00:49 字數 871 閱讀 5912

一、指令碼執行順序

awake()//遊戲開始指令碼掛載即執行,每次載入只執行一次

onenable()//元件啟用就呼叫,前提遊戲物體必須啟用

ondisable()

start ()//指令碼啟用時執行,每次載入只執行一次

fixedupdate()//每秒固定次數呼叫。次數 = 1/ fixed timestep

ondestroy()//元件被移除才呼叫

二、協程

coroutine cot;

ienumerator iet;

resourcerequest rqs;

gameobject go;

iet = wait();

startcoroutine("wait");//使用函式的字串開啟協程可以再用該函式字串來關閉協程

cot = startcoroutine(wait());//使用直接使用函式開啟協程時可以儲存 startcoroutine 返回的協程,然後 stopcoroutine(cot); 來關閉

startcoroutine(iet);//使用協程函式的返回來開啟協程,關閉時使用stopcoroutine(iet);

stopcoroutine("wait");

stopcoroutine(cot);

stopcoroutine(iet);

ienumerator load()

}ienumerator wait()

yield return 0;

}

Unity 協程詳解

class myiter ienumerable myiter iter newmyiter foreach int num in iter 我們需要讓資料結構支援foreach遍歷,所以要繼承ienumerable介面,實現getenumerator方法返回乙個迭代器,那麼這裡就很奇怪,返回值明明...

Unity 之 協程 初級

協程可以通過startcoroutine 來呼叫 只需要在裡面穿進去乙個ienumerator型別的方法 就可以了。這個方法是可以帶有引數的哦。舉個例子 ienumerator test2 void start 這樣就在一開始呼叫這個test2的方法了 現在我來著重講講最讓人煩心的yield ret...

Unity中的協程

1.建立協程 迭代器 ienumerator private ienumerator test 裡面可以使用 yield return new waitforsecond 1 等待1s後執行後面的 yield return new waitforseconds 0.3f 等待0.3秒,一段指定的時間...