unity中的 yield,延迟的实现
unity中的 yield,延迟的实现
安世博 发表于2年前
unity中的 yield,延迟的实现
  • 发表于 2年前
  • 阅读 45
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: yield,IEnumerator ,StartCoroutine

unity中延迟几秒的实现,专门设计了一种模式,叫做Coroutines & Yield 协同程序 & 中断

Coroutine:协同程序

Yield:中断

样例:

//yield在c#中只能放在IEnumerator中,其他类型中会报错
IEnumerator do(){
    print("begin");
    yield return new WaitForSeconds(5);
    print("end");
}
//使用执行协同程序语句StartCoroutine执行IEnumerator方法
void Start(){
    StartCoroutine(do());
    //StartCoroutine("do", 2.0F);变体使用,性能开销大
}

原理:

StartCoroutine执行了一个复杂的协同过程,wait系列,WWW类,都使用了这种特殊处理;

共有 人打赏支持
粉丝 69
博文 129
码字总数 79626
×
安世博
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: