停止此行为上运行的所有协程。
一个 MonoBehaviour 可以执行零个或多个协程。创建的协程可以执行一段时间。在下面的脚本示例中,创建并运行了两个协程而没有停止。但是,StopAllCoroutines 用于停止这两个协程。此操作可以在运行多个协程的脚本上进行。不需要参数,因为脚本上的所有协程都将停止。
注意:StopAllCoroutines 仅对附加到的一个脚本起作用。
using UnityEngine; using System.Collections;
// Create two coroutines that run at different speeds. // When the space key is pressed stop both of them.
public class ExampleClass : MonoBehaviour { //coroutine 1 IEnumerator DoSomething1() { while (true) { print("DoSomething1"); yield return new WaitForSeconds(1.0f); } }
//coroutine 2 IEnumerator DoSomething2() { while (true) { print("DoSomething2"); yield return new WaitForSeconds(1.5f); } }
void Start() { StartCoroutine("DoSomething1"); StartCoroutine("DoSomething2"); }
void Update() { if (Input.GetKeyDown("space")) { StopAllCoroutines(); print("Stopped all Coroutines: " + Time.time); } } }