首页 > 代码库 > unity 3d yield 用法总结
unity 3d yield 用法总结
最近,需要需要用unity 3d做点东西,但是了碰到了延迟加载问题,我总结余下:
Coroutines & Yield是unity3d编程中重要的概念,它可以实现将一段程序延迟执行或者将其各个部分分布在一个时间段内连续执行,但是在Javascript与C#中实现Coroutines & Yield,在语法上却有一些区别:
javascript中yield用法很简单,直接yield就行了,或者yield WaitForSeconds (2);
c#中的用法如下:
yield不可单独使用
需要与return配合使用,例如:
1 yield return 0; //等0帧
2 yield return 1; //等1帧
3 yield return WaitForSeconds(3.0); //等待3秒
所有使用yield的函数必须将返回值类型设置为IEnumerator类型,例如:
IEnumerator DoSomeThingInDelay() {...}
最后,也是在”Using C#”这个章节中没有讲到的关键一点是,所有IEnumerator类型函数必须使用”StartCoroutine”这个函数触发,不能单独使用,例如:
StartCoroutine(DoSomeThingInDelay());
这就是yield的用法。
1 | 1 StartCoroutine ( DoSomeThingInDelay ( ) ) ; |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。