首页 > 编程语言 > 详细

Unity 协程

时间:2019-06-19 10:44:59      阅读:244      评论:0      收藏:0      [点我收藏+]
  1. 延迟函数:

Destroy(object,float time);time时间之后销毁object类型;

Invoke延迟执行函数,通过方法名延迟调用对应函数;

                    注意:当此脚本或者当前脚本所在的游戏物体失活,延迟函数依然会执行;

                                       但是当前脚本或者游戏物体被销毁,延迟函数就不会执行;

技术分享图片

 


取消延迟函数:CanceInvoke();

                    如果不传参数,那么就会取消当前代码内的所有延迟函数;

                    如果传参数,就是取消对应函数延迟调用;

 技术分享图片

 

 

延迟重复调用  InvokeRepeating(string methodName, float time, float repeatRate);

   Time时间之后调用methodName方法,每隔repeatRate秒之后在调用一次methodName函数;

 技术分享图片

 

 

  1. 异步加载:

不会引起代码阻塞;

  1. 协程:协程不是多线程,是假的“多线程”;

      应用场景:1.WWW加载网络数据;http://down.qiaobahuyu.com/down/update.xml

2.异步加载资源、场景;

 技术分享图片

技术分享图片

 

 

 

协程:

  1. 协程声明函数:

 技术分享图片

 

  1. 启动协程函数
    1. StartCoroutine("PrintA",4);
    2. StartCoroutine(PrintA(4));(不建议使用)

        3.  IEnumerator ie = PrintA();

             StartCoroutine(ie);. 

 技术分享图片

 

3. 协程的启动与关闭

 

 技术分享图片

 

4.协程是否失效:

   当协程开启后,当前代码组件失活,不影响协程继续执行;

   当协程开启后,当前代码组件销毁,协程就不继续执行;

   当协程开启后,当前代码组件所在游戏物体失活,协程就不继续执行;跟延迟函数不一样;(注意)

      所以以后有协程的代码不能挂在经常失活或者激活的游戏物体上;

5. yield  return

 

 技术分享图片

 

     

 

6.协程异步加载Resources资源

 技术分享图片

 

7.协程异步加载场景:

 技术分享图片

 

 

 

 

 

 

 

Unity 协程

原文:https://www.cnblogs.com/DGJS/p/11049900.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!