协程的一般概念:在主线程逻辑运行的同时,开启另一段逻辑处理,以辅助主程序的执行。
(一)首先说下unity中的协程。
调用方法如下:
public Coroutine StartCoroutine(IEnumerator routine);
public Coroutine StartCoroutine(string methodName, [DefaultValue("null")] object value);
public Coroutine StartCoroutine(string methodName);
停用的方法对应如下:
public void StopCoroutine(IEnumerator routine);
public void StopCoroutine(Coroutine routine);
public void StopCoroutine(string methodName);
public void StopAllCoroutines();
停用的方法这有个坑,请大家注意:
比如调用的协程方法是Test();
StartCoroutine("Test");
StopCoroutine("Test");
这么调用时可以的。
以下方式调用时不可以的:
StartCoroutine(Test());
StopCoroutine(Test());
必须通过以下方式调用才能停止
IEnumerator testEnumerator = Test();
StopCoroutine(testEnumerator);