随笔 - 239  文章 - 0  评论 - 623  阅读 - 97万

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());
posted on   laozhu1124  阅读(13517)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

淘宝免费计数器
点击右上角即可分享
微信分享提示