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());
  • 相关阅读:
    Golang---反射(reflect)
    golang--交替打印一个数组中的元素
    Golang---基本类型(interface)
    利用random5 生成 random7
    Golang---基本类型(map)
    Golang---基本类型(slice)
    Golang---基本类型(string)
    二维码扫码登录原理
    Golang---内存逃逸
    关于我
  • 原文地址:https://www.cnblogs.com/manuosex/p/3726475.html
Copyright © 2011-2022 走看看