10.12
协程:
IEnumerator 专门调用协程的方法
官方定义是一种具有暂停执行然后将控制权返回给Unity的方法
1.比如经过一段时间跳转到另一个场景
IEnumerator NextScene()
{
yield return new WaitForSeconds(3f);
UnityEngine.SceneManagement.SceneManager.LoadScene("Scene");
}
2.一个物体逐渐消失的过程
IEnumerator Fode()
{
for (float i = 1; i >= 0; i -= 0.1f)
{
Color colorA = this.GetComponent<MeshRenderer>().material.color;
colorA.a = i;
this.GetComponent<MeshRenderer>().material.color = colorA;
yield return new WaitForSeconds(0.5f);
}
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.F))
{
StartCoroutine(Fode());
}
}
注意:
Renderer等同于MeshRenderer
调用携程的方法:StartCoroutine();
yield return null;跳过一帧 大概是0.02秒
改变物体透明度时,物体的材质必须本身就是透明材质