zoukankan      html  css  js  c++  java
  • 协程方法的开启、关闭以及传参

    协程方法的开启、关闭都是由对象完成的,所以我们在开启、关闭时都需要弄清楚对象,否则很容易出现协程打不开,或者关不掉的情况。

    协程方法的开启、关闭方法1:用字符串打开,用字符串关闭,如果需要传递参数,可以在字符串后面写参数,但是参数个数只能为1。

     1 public class Test
     2 {
     3     private void Start()
     4     {
     5         this.StartCoroutine("IEDo");//开启
     6         this.StartCoroutine("IEDo1", 1);//开启并传参
     7         this.StopCoroutine("IEDo");//关闭
     8         this.StopCoroutine("IEDo1");//关闭
     9     }
    10 
    11     IEnumerator IEDo()
    12     {
    13         yield return null;
    14     }
    15 
    16     IEnumerator IEDo1(int a)
    17     {
    18         yield return null;
    19     }
    20 }

    协程方法的开启、关闭方法2:用方法名打开协程,但关闭时会稍微麻烦点,如下图所示,通过打开时的返回值去关闭。

     1 public class Test : Base
     2 {
     3     private void Start()
     4     {
     5         Coroutine cc = this.StartCoroutine(IEDo());//开启
     6         this.StopCoroutine(cc);//关闭
     7     }
     8 
     9     IEnumerator IEDo()
    10     {
    11         yield return null;
    12     }
    13 }

    协程方法的开启、关闭方法3:在协程方法中设置一个特定的条件,当这个条件满足时,用 break 或者 yield break 让协程自己关闭。

     1 public class Test : Base
     2 {
     3     private bool val;
     4 
     5     private void Start()
     6     {
     7         this.StartCoroutine("IEDo");//开启
     8     }
     9 
    10     IEnumerator IEDo()
    11     {
    12         while (true)
    13         {
    14             yield return null;
    15             if (val)
    16             {
    17                 //当布尔值 val 为真时,使用 break 或者 yield break 让协程自己关闭。
    18                 //break;
    19                 yield break;
    20             }
    21         }
    22     }
    另外需要注意: StopAllCoroutines() 这个方法也仅仅只能关闭调用这个方法的对象身上的所有协程,而不能关闭其他对象身上的协程。
  • 相关阅读:
    企业管理:“残缺”也是一种美?
    销售到出仓所经历的表
    采购到入库所经历的表
    OM 订单状态
    OM客户、客户地点
    接收事务处理类型 rcv_transactions
    安装ORACLE不能安装解决方法
    系统变量设置
    如何取分组最大值记录
    CentOS (Linux) 上开启FTP服务并配置用户
  • 原文地址:https://www.cnblogs.com/xiaoyulong/p/7895196.html
Copyright © 2011-2022 走看看