unity 3D c# 协程的典型用法-Unity官方案例精讲笔记
来源:互联网 发布:苹果5s怎么关闭网络 编辑:程序博客网 时间:2024/06/05 13:31
什么是协程(Coroutine)
在unity中,协程的概念类似于线程,它是一种特殊的函数,能够中断(通过yield语句)执行当前的代码,直到中断指令(YieldInstruction)结束后再接着执行之前的代码。
典型用法
注意事项
- 协程的返回值必须是IEnunmerator
- 协程的参数不能加ref或out
- 在c#脚本中,必须通过StartCoroutine来驱动协程
- yield语句要用yield return 来代替
- StartCoroutine只能在monoBehaviour或其子类中使用
- StartCoroutine接收协程的名称(字符串)或IEnumerator实例作为参数
- 在Unity中,可以使用函数StopCoroutine来终止一个协程,但这种方法只适用于使用协程的名称作为参数启动的协程。使用StopAllCoroutine可以终止该monoBehaviour中的所有协程。还有一个不常用的方法来终止协程,即将协程所在的游戏对象的active属性设置为false,但是当再次将active改为TRUE时,协程不会自动启动。
- yield return 语句不能用在try-catch语句块中,但可以用在try-finally中的try语句块中
- yield return语句不能放在匿名方法中
- yield return语句不能放在unsafe语句块中
示例代码
IEnumerator WaitAndPrint() { yield return new WaitForSeconds(1);//WaitForSeconds()受Time.timeScale影响,当Time.timeScale为0时,yield return new WaitForSeconds(n) 将失效 print("WaitAndPrint"); } IEnumerator Download() { string url = "http://download.csdn.net/detail/sakurallj/9926053"; WWW w =new WWW(url); yield return w; if (w!=null) { Debug.Log(w.text); } StopAllCoroutines(); }
参考
Unity官方案例精讲的协程章节,下载地址在这里
阅读全文
0 0
- unity 3D c# 协程的典型用法-Unity官方案例精讲笔记
- Unity官方案例精讲笔记 unity中常用类之间的关系
- Unity官方案例精讲笔记-unity脚本事件的执行顺序
- C#程序员整理的Unity 3D笔记(二十):2D Toolkit之官方教程《Whack a Mole》
- C#程序员整理的Unity 3D笔记(九):Unity 3D测试浅析
- unity协程及典型案例-阿基米德螺旋线
- UNITY 3D笔记
- unity 3D 笔记
- C#程序员整理的Unity 3D笔记(十三):Unity 3D基于组件的思想
- C#程序员整理的Unity 3D笔记(十五):Unity 3D UI控件至尊–NGUI
- Unity 3D回合制手游《星辰奇缘》测评精讲
- [Unity官方文档翻译]2D or 3D Projects Unity中2D和3D项目的区别
- Unity 3D 学习笔记
- Unity 3D 学习笔记
- Unity 3D 学习笔记
- Unity 3D 学习笔记
- Unity 3D 学习笔记
- Unity 3D学习笔记
- Android source code
- 欢迎使用CSDN-markdown编辑器
- idtcpserver demo
- Hibernate一对多的关系
- C# 字符串重编码——任意字符串转化为全字母串
- unity 3D c# 协程的典型用法-Unity官方案例精讲笔记
- 判断二叉树是否为二叉搜索树
- 醒
- java编程思想笔记-并发之并发锁synchronized详解(二)
- Xamarin.Forms 用户界面——控件——ListView
- tp3.2.3无限级分类
- XML约束DTD
- Linux 新增磁盘,重新挂载分区
- JAVA 实现正则表达式代码