启动协程函数和停止协程函数参数类型要相同,比如使用协程函数的名字启动协程时,也要使用协程函数的名字停止协程。(Note: Do not mix the two arguments. If a string is used as the argument in StartCoroutine, use the string in StopCoroutine. Similarly, use the IEnumerator in both StartCoroutine and StopCoroutine.)
代码块
public class Ie : MonoBehaviour
{
private IEnumerator ie;
private Coroutine coroutine;
void Start ()
{
ie = MyIE("1");
StartCoroutine(ie);//方式一
coroutine= StartCoroutine(MyIE("2"));//方式二
}
void Update ()
{
if (Input.GetKeyDown(KeyCode.Space))
{
StopCoroutine(ie);//方式一
StopCoroutine(coroutine);//方式二
//StopCoroutine(MyIE());//错误方式
}
}
IEnumerator MyIE(string str)
{
while (true)
{
yield return null;
Debug.Log(str);
}
}
}