zoukankan      html  css  js  c++  java
  • unity 3d yield 用法总结

      最近,需要需要用unity 3d做点东西,但是了碰到了延迟加载问题,我总结余下:

      Coroutines & Yield是unity3d编程中重要的概念,它可以实现将一段程序延迟执行或者将其各个部分分布在一个时间段内连续执行,但是在Javascript与C#中实现Coroutines & Yield,在语法上却有一些区别:

      javascript中yield用法很简单,直接yield就行了,或者yield WaitForSeconds (2);

      c#中的用法如下:

      yield不可单独使用

      需要与return配合使用,例如:

      1 yield return 0; //等0帧

      2 yield return 1; //等1帧

      3 yield return WaitForSeconds(3.0); //等待3秒

      所有使用yield的函数必须将返回值类型设置为IEnumerator类型,例如:

      
     IEnumerator DoSomeThingInDelay() {...}
     

      最后,也是在”Using C#”这个章节中没有讲到的关键一点是,所有IEnumerator类型函数必须使用”StartCoroutine”这个函数触发,不能单独使用,例如:

    StartCoroutine(DoSomeThingInDelay());

      这就是yield的用法。

    1
    1 StartCoroutine(DoSomeThingInDelay());
  • 相关阅读:
    重识linux-常见压缩和解压缩命令
    重识linux-压缩文件的原理
    重识linux-关于selinux
    重识linux-循环执行的例行性工作调度
    重识linux-仅执行一次的工作调动at
    Python资源
    python hehe
    Chrome 消息机制
    自己动手写reg注册表文件
    用JavaScript截图
  • 原文地址:https://www.cnblogs.com/manuosex/p/3726475.html
Copyright © 2011-2022 走看看