unity协程使用注意事项

协程的开启和停止


以StartConroutine(string method)方式启动协程时,当method参数超过两个时,用StopCoroutine(string method)无法停止开启的协程。正确的开启和停止方式如下:

    #region 协程的启动和停止
    Coroutine c;
    void Start()
    {

        c = StartCoroutine(debug(0, 1)); //正确的协程启动方式
        Invoke("stopCoroutine", 3f);
    }

    IEnumerator debug(float sum, int num)
    {
        while (true)
        {
            print("I am fucking running!!!");
            sum += num;
            print("sum = " + sum);
            yield return new WaitForSeconds(1f);
        }
    }

    void stopCoroutine() 
    {
        StopCoroutine(c); //正确的协程停止方法
    }
    #endregion

你可能感兴趣的:(unity)