赞
踩
1、协程只能在MonoBehaviour或其子类使用
2、协程类似于红绿灯,在碰到等待指令时停下,等待指令结束时继续运行
3、yield return new WaitForSecond(n)受Time.timeScale影响,当Time.timeScale为0时,yield return new WaitForSecond(n)将失效
形式 | 意义 |
yield return null; | 等待下一帧的Update函数执行完再执行 |
yield return new WaitForSeconds(10); | 延迟10秒后执行 |
yield return new WaitForFixedUpdate(); | 等待所有脚本中FixedUpdate函数结束后运行 |
yield return new WaitForEndOfFrame(); | 等待该帧中所有Camera和GUI对象渲染完毕,在帧被显示到屏幕之前恢复执行前面的代码 |
yield return new WWW(url);(WWW已过时) | 等待url下载完成后再继续执行 |
yield return StartCoroutine(BB()); | 等待协程BB结束后再执行 |
在Unity中,可以用StopCoroutine来终止一个协程
- void Start()
- {
- StartCoroutine("AA",0.5f);
- StopCoroutine("AA");
- }
也可以用StopAllCoroutines();终止MonoBehaviour类中所有能终止的协程
最后要注意:
yield return 不能放进try-catch语句块中,但可以放进try-finally中的try中
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。