StopAllCoroutines():
用于停止当前脚本的所有协程。
StopCoroutine(string methodName);
停止当前脚本中的某一个协程,通过协程的方法名查找并停止。
局限性:StartCoroutine("testStartCor")中不能带参数,也就是testStartCor不能有参数,否则会报错。
StopCoroutine(IEnumerator routine);
using UnityEngine; using System.Collections; /// <summary> ///测试 public void StopCoroutine(IEnumerator routine); /// </summary> public class TestHHH : MonoBehaviour { IEnumerator helloIenumeratro; void Start() { //必须是——StopCoroutine(IEnumerator routine)方式 helloIenumeratro = testStartCor("今天的天气哈哈哈"); StartCoroutine(helloIenumeratro); } void Update() { if (Input.GetMouseButtonDown(0)) { //对应——StopCoroutine(IEnumerator routine)方式 StopCoroutine(helloIenumeratro); Debug.Log("已经停止协程"); } } IEnumerator testStartCor(string ss) { var cout = 0; while (true) { yield return new WaitForSeconds(1); cout++; Debug.Log("StartCoroutine:" + cout+" "+ss); } } }