Unity 协程

  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.协程异步加载场景:

 

 

 

 

 

 

 

 

posted @ 2019-06-19 10:35  D个人笔记  阅读(379)  评论(0编辑  收藏  举报