Unity脚本中协同程序(Coroutines)必须是IEnumerator返回类型,并且yield要用yield return替代。
实例代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NEwBehaviourScript :MonoBehaviour{ //声明类
IEnumerator SomeCoroutine(){ //定义一个C#协同程序
yield return 0; //等待一帧
yield return new WaitForSeconds(3); //等待3s
}
}
// 在继承自MonoBehaviour的类中调用此协程函数
void Start()
{
// 获取迭代器接口
IEnumerator enumerator01 = SomeCoroutine();
//开始协程
StartCoroutine(enumerator01);
// 返回的Coroutine对象保存起来可用于停止协程
Coroutine coroutine002= StartCoroutine(enumerator01);
StopCoroutine(coroutine002);
}