Unity Coroutine(协程)

程序

进程

主线程(操作Unity相关的对象、组件...)
子线程
子线程
...

协同程序(Coroutine)

        概念:伴随着主线程一起运行的一段程序

        注意:协程与协程之间是并行执行,与主线程也是并行执行。

创建协程方法返回值关键字IEnumerator
必须返回yield return

1、返回对象(有构造的执行构造)

2、等待下一帧继续执行

         特殊的yield return

普通版

yield return【具体的值】

暂停协程

等待下一帧继续执行

执行的时间节点(Update后,FateUpdate之前)

yield return new WaitForEndOfFrame()

暂停协程

等待下一帧继续执行

执行的时间节点(OnGUI之后)

拓展

yield return new WaitForSeconds(n)

暂停协程

等待n秒之后继续执行

yield return new WaitForFixedUpdate()

暂停协程

等待一个fixed的时间间隔之后继续执行

yield return new WaitForSeconds(0.02)

yield return StartCoroutine(协程方法)

暂停协程

等待yield return 的协程执行完了之后继续执行

        开启协程

StartCoroutineStartCoroutine(协程方法[协程参数])
StartCoroutine("方法名称")
StartCoroutine("方法名称",方法参数)

用这种方法启动

参数只能有一个

        停止协程

StopCoroutineStopCoroutine(Coroutine)
StopCoroutine(IEnumerator)
StopCoroutine(string methodName)限制:只能停掉用字符串启动的协程
StopAllCoroutine停止所有正在运行的协程

        跳出协程

                yield break

        特殊协程

                IEnumerator Start()

                        简介:Start协程会在游戏开始时自动启动

                        注意:此协程和Start函数只能存在一个

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值