协程概述
不用急着给它去下个定义,我们只需要知道协程能做什么,我们在什么时候需要使用它就可以了。
在我们需要控制函数的执行顺序的时候,我们就需要使用它了,下面我简单的列举几个书上看到的以及我日常中碰到的问题。
1.如何让一个物体渐变
我们通过写一个for循环循环它的透明度显然是不可行的,因为一帧以内会执行完整个for循环,我们只能看得到开头和结尾的部分。
2.如何截取屏幕的图片
当然,这不是一般的截取,我的工程中需要某一个物体出现在场景中,然后截取该物体,最后再隐藏该物体,如果你在函数里写
出现;
截图;
隐藏;
抱歉,这样做最后是无法得到该图片的
3.大规模的计算
如果在unity脚本里面执行大规模的计算的时候,我们的程序会卡住一段时间,非常影响用户体验,可以利用协程来控制计算的执行速度,把计算分散到每一帧,而不是一帧计算完。
协程用法
void Start()
{
StartCoroutine("fun");
}
IEnumerator fun()
{
Debug.Log(Time.time);
yield return StartCoroutine(