Unity3D开发之协程

协程,其实是unity做的一种类似线程的东西,但不是线程。协程是运行在主线程上,并不可以并行运算,因此他可以去处理逻辑问题。

一.打开协程及关闭协程

// Use this for initialization
    void Start()
    {
        StartCoroutine("Wait");

        Invoke("Stop",5);
    }

    IEnumerator Wait()
    {
        while (true)
        {
            yield return new WaitForSeconds(1);
            Debug.Log("s");
        }
    }

    void Stop()
    {
        StopCoroutine("Wait");
    }

关闭协程可以终止里面的循环。注意:StopAllCoroutines();也可以中断所有的协程。但是想单独结束某个协程,unity提供的StopCoroutine方法。我们想要此方法有效果,需要我们在启动方法的地方使用函数名而不是函数。如上代码的StartCoroutine("Wait");而非StartCoroutine(Wait());否则不会中断协程。

你可能感兴趣的:(Unity)