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());
  • 相关阅读:
    java线程间的协作
    java线程间的共享
    java多线程基础API
    java并发编程基础概念
    如何设计一套规则引擎系统
    Stream—一个早产的婴儿
    Java函数式编程的前生今世
    关于微服务划分的一些思考
    如何更优雅的给控制器 “减负”
    PHP简洁之道
  • 原文地址:https://www.cnblogs.com/manuosex/p/3726475.html
Copyright © 2011-2022 走看看