StartCoroutin
使用方法,即通过迭代器,使用MonoBehavior中的StartCoroutin函数执行迭代器函数
定义一个迭代器:
IEnumerator ATest(float SomeParam){
yield return WaitForSeconds(2.0);
Debug.Log(SomeParam+"ATest");
}
调用方法一(通过字符串作为参数,同时可使用StopCoroutin函数停止协程,但是比较消耗性能):
void Start(){
StartCoroutin("ATest",2);
StopCoroutin("ATest");
}
调用方法二:
void Start(){
StartCoroutin(ATest());
}
------------------------------------------------分割线----------------------
IEnumerator Start(){
print("first");
yield return StartCoroutin(WaiForSecondsTest(2.0));
print("Second");
}
IEnumerator WaiForSecondsTest(float SomeTime){
yield return new WaitForSeconds(SomeTime);
print("third");
}
【运行结果:First Third Second】
区别于:
void Start(){
print("first");
StartCoroutin(WaiForSecondsTest(2.0));//此时的协程虽然在Start函数内,但是可看做是与Start函数同时运行。与上面的例子有
//所区别
print("Second");
}
IEnumerator WaiForSecondsTest(float SomeTime){
yield return new WaitForSeconds(SomeTime);
print("third");
}
【运行结果:First Second Third 】