u3d学习笔记一:协程的使用

本文介绍了Unity引擎中的协程概念,协程通过分部执行并在满足特定条件时挂起,然后在条件满足时继续执行。每帧,Unity会在Update之后处理协程。协程函数由IEnumerator声明,并使用yield return语句控制流程。StartCoroutine用于启动协程。文章提供了一个简单的协程示例,并推荐了一篇详细解释StartCoroutine的博客链接。
摘要由CSDN通过智能技术生成

协程的定义:

    协程是一个分部执行,遇到条件(yield return 语句)会挂起,直到条件满足才会被唤醒执行后面的代码。

    Unity在每一帧都会去处理对象上的协程,主要是在Update后去处理协程(检查协程的条件是后满足)。协程跟Update()实质上是一样的,都是Unity每帧都会去处理的函数。

协程函数是用关键字IEnumerator来声明的函数,在函数中配合用yield return使用,用StartCoroutine()函数来调用。上一个例子先:

using UnityEngine;
using UnityEngine.SceneManagement;
using System.Collections;

public class Done_GameController : MonoBehaviour
{
	public float startWait;
	public float waveWait;
	
	void Start ()
	{
		StartCoroutine (SpawnWaves ());
	}
	
	void Update ()
	{
	}
	
	IEnumerator SpawnWaves ()
	{
		yield return new WaitForSeconds (startWait);
		while (true)
		{
                    yield return new WaitForSeconds (waveWait);
		}
	}
}

yield return可以返回值可以如下:

yield return null; // 下一帧再执行后续代码
yield return 0; //下一帧再执行后续代码
yield retu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值