unity3d之 C# WaitFOrSeconds()

学习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()
由于对协程,还不太了解,我会之后补充这方面知识。

你可能感兴趣的:(U3D)