Yield

u8 的头像

Unity3D中制作GUI闪烁效果,主要是yield的使用

U吧以前好像有发过一篇关于重复函数的使用,下面再转帖一篇,来个具体的应用例子!

以下为转帖内容:

重点是yield和StartCoroutine的使用
水平有限,多多包涵

代码为:c#编写

uke 的头像

Unity3D使用C#实现Coroutines & Yield(转)

Coroutines & Yield是Unity3D编程中重要的概念,它可以实现将一段程序延迟执行或者将其各个部分分布在一个时间段内连续执行,但是在Javascript与C#中实现Coroutines & Yield,在语法上却有一些区别:

yield不可单独使用
需要与return配合使用,例如:

1 yield return 0; //等0帧 

2 yield return 1; //等1帧 

3 yield return WaitForSeconds(3.0); //等待3秒

所有使用yield的函数必须将返回值类型设置为IEnumerator类型,例如:

1 IEnumerator DoSomeThingInDelay() {...}

最后,也是在”Using C#”这个章节中没有讲到的关键一点是,所有IEnumerator类型函数必须使用”StartCoroutine”这个函数触发,不能单独使用,例如: