协程开启和停止的方法

本文详细介绍了在Unity中如何使用IEnumerator、Coroutine以及各种YieldReturn的用法,包括启动和停止协程,以及不同YieldReturn值的作用和场景。
摘要由CSDN通过智能技术生成

协程开启和停止的方法


使用IEnumerator 

IEnumerator ie;//声明变量

ie = Test(); //将协程函数赋值给变量

StartCoroutine(ie);//开启协程

StopCoroutine(ie);//关闭协程

使用 Coroutine

Coroutine stopCor_1;//声明变量

stopCor_1 = StartCoroutine(Test());//将协程函数赋值给变量,同时启动该协程。

StartCoroutine(stopCor_1);//开启协程

StopCoroutine(stopCor_1);//关闭 协程

使用字符串的函数名

StartCoroutine(“stopCor_1”);//开启协程

StopCoroutine(“stopCor_1”);//关闭协程

 Yield Return 用法


yield return null; // 下一帧再执行后续代码

yield return 0; //下一帧再执行后续代码

yield return 6;//(任意数字) 下一帧再执行后续代码

yield break; //直接结束该协程的后续操作

yield return asyncOperation;//等异步操作结束后再执行后续代码

yield return StartCoroution(/*某个协程*/);//等待某个协程执行完毕后再执行后续代码

yield return WWW();//等待WWW操作完成后再执行后续代码

yield return new WaitForEndOfFrame();//等待帧结束,等待直到所有的摄像机和GUI被渲染完成后,在该帧显示在屏幕之前执行

yield return new WaitForSeconds(0.3f);//等待0.3秒,一段指定的时间延迟之后继续执行,在所有的Update函数完成调用的那一帧之后(这里的时间会受到Time.timeScale的影响);

yield return new WaitForSecondsRealtime(0.3f);//等待0.3秒,一段指定的时间延迟之后继续执行,在所有的Update函数完成调用的那一帧之后(这里的时间不受到Time.timeScale的影响);

yield return WaitForFixedUpdate();//等待下一次FixedUpdate开始时再执行后续代码

yield return new WaitUntil()//将协同执行直到 当输入的参数(或者委托)为true的时候....如:yield return new WaitUntil(() => frame >= 10);

yield return new WaitWhile()//将协同执行直到 当输入的参数(或者委托)为false的时候.... 如:yield return new WaitWhile(() => frame < 10);

引用

https://blog.csdn.net/beihuanlihe130/article/details/76098844

https://blog.csdn.net/Czhenya/article/details/115936459

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值