StopCoroutine协程停止

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);  
        }  
    }  
}  





猜你喜欢

转载自blog.csdn.net/weixin_39706943/article/details/80487061
今日推荐