学习unity3d不久,在使用WaitFOrSeconds()时,遇到了不少麻烦,故记录,以警示后人。
首先介绍C#和javascript 在使用它有很大的区别。
javascript可以直接使用 yield WaitFOrSeconds(5);即延时5秒
而C#中,首先定义自己的方法
IEnumerator MyMethod() {
Debug.Log("Before Waiting 2 seconds");
yield return new WaitForSeconds(2);
Debug.Log("After Waiting 2 Seconds");
}
然后利用协程调用
StartCoroutine(MyMethod());或
StartCoroutine(“MyMethod”);
在这里要注意,要想2秒之后,执行另一个函数,如Application.LoadLevel(0);需要把它放进协程里
即
IEnumerator MyMethod() {
Debug.Log("Before Waiting 2 seconds");
yield return new WaitForSeconds(2);
Debug.Log("After Waiting 2 Seconds");
Application.LoadLevel(0);
}
之后在调用MyMethod()会实现等2秒后,再执行loadlevel()
由于对协程,还不太了解,我会之后补充这方面知识。
原文地址:http://blog.csdn.net/feizxiang3/article/details/30517403