c#发展

注册

 

发新话题 回复该主题

Unity3d教程Csharp实现Co [复制链接]

1#

Unity3D教程:c#脚本yield的用法

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

javascript中yield用法很简单,直接yield就行了,或者yieldWaitForSeconds(2);

c#中的用法如下:

yield不可单独使用

需要与return配合使用,例如:

1yieldreturn0;//等0帧

2yieldreturn1;//等1帧

3yieldreturnWaitForSeconds(3.0);//等待3秒

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

1IEnumeratorDoSomeThingInDelay(){……}

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

1StartCoroutine(DoSomeThingInDelay());

分享 转发
TOP
发新话题 回复该主题