2.10协程
协程概念:
就是“协同程序”,并不是多线程
既然叫协程,肯定还有一个主程,主程序指各种声明周期函数。
协程的作用意义:主程序在执行某个任务时,希望同时运行其他逻辑,这里的同时,并不是多线程意义上的同时,只是感官上的同时。
使用协程函数:
Coroutine StartCoroutine(Demo(“这是参数”))
执行一个协程,参数直接调用协程方法即可。可以用一个变量接受返回值用于后续停止该协程。
我们在生命周期函数中调用协程,但是协程的运行和顺序和主程无关,可以理解成,开了一个分支专门运行这个协程,如果打开了多个协程,这些协助之间也无关。
协程如果运行到最后一行,意味着停止,但是如果想主动停止
StopAllCoroutines():结束全部协程
StopCoroutines():结束某个协程
StopCoroutine(IEnumerator routine):和调用协程的使用一样,但是如果协程有参数不要使用这个。
StopCoroutine(Coroutine routine);参数填写协程变量
StopCoroutine(string methodName);参数填写协程方法的名
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class L2_10Demo : MonoBehaviour
{
void Start()
{
//StartCoroutine("Demo");//不能传参数
//StartCoroutine(Demo(10));//可以传参数
//Coroutine cor1 = StartCoroutine(Demo(10));//声明一个参数(赋值的同时也执行了StartCoroutine(Demo(10))),便于停止
//Coroutine cor2 = StartCoroutine(Demo(10));
//StopCoroutine