小编KY *_* Lu的帖子

Unity StopCoroutine 当存在多层(或嵌套)“yield return”时不停止协程

如果我使用 one-layer yield returnStopCoroutine()可以成功停止我的协程。请参阅下面的代码示例...

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TestStopcoroutine : MonoBehaviour {
  IEnumerator co = null;

  // Use this for initialization
  void Start () {
    co = FunA();
    StartCoroutine(co);
  }

  private IEnumerator FunA() {
    Debug.Log("Enter FunA...");
    yield return RepeatPrint();
    Debug.Log("FunA end...");
  }

  private IEnumerator RepeatPrint() {
    for (int i = 0; i < 5; i++) {
      Debug.Log(i);
      yield return new WaitForSeconds(1);
    }
  }

  /// <summary>
  /// Set this function to a button on …
Run Code Online (Sandbox Code Playgroud)

c# coroutine unity-game-engine

5
推荐指数
1
解决办法
8697
查看次数

标签 统计

c# ×1

coroutine ×1

unity-game-engine ×1