ilikezxy

协同程序

  即在主程序运行时同时开启另一端逻辑处理,来协同当前程序的执行。

  但是它与多线程程序不同,所有的协同程序都是在主线程中执行的,他还是一个单线程程序。

  再Unity中可以通过 StartCoroutine 方法来启动一个协同程序。

 

StartCoroutine 方法为 MonoBehaviour 类中的一个方法,也就是说该方法必须在 MonoBehaviour 或继承与 MonoBehaviour 的类中调用。

StartCoroutine 方法也可以使用返回值作为 IEnumerator 类型方法的参数。具体操作时可以使用如下的C#代码片段来实现。

using UnityEngine;
//引入系统包
using System.Collections;
//声明类
public class NewBehaviourScript
{
    //重写 Start 方法
    void Start()
    {
        //开启协同程序
        StartCoroutine(doThing());
  }

     //声明 doThing 方法
     IEnumerator doThing()
     {
        //打印提示信息
        Debug.Log("dothing");
        yield return null; 
     }
    
}
    

 

  协同程序中可以使用 yield 关键字来中断协同程序,也可以使用 WaitForSeconds 类的实例化对象让协同程序休眠。

  具体操作时可以使用如下代码片段来实现

using UnityEngine;
//引入系统包
using System.Collections;
//声明类
public class NewBehaviourScript
{
    //重写 Start 方法
    void Start()
    {
        //开启协同程序
        StartCoroutine(doThing());
  }

     //声明 doThing 方法
     IEnumerator doThing()
     {
        //协同程序休眠两s
        yield return new WaitForSeconds(2);
        //打印提示信息
        Debug.Log("dothing");

     }
    
}                 

 

分类:

技术点:

相关文章:

  • 2021-12-25
  • 2021-12-25
  • 2021-10-01
  • 2021-07-16
  • 2021-12-25
  • 2021-12-25
  • 2022-12-23
  • 2021-09-22
猜你喜欢
  • 2022-12-23
  • 2021-12-25
  • 2021-12-25
  • 2021-12-25
  • 2022-12-23
  • 2021-12-25
相关资源
相似解决方案