unity笔记--协程StartCoroutine和yield return

本文详细介绍了Unity中的协程(Coroutines)如何工作,包括如何使用StartCoroutine、yieldreturn和StopCoroutine进行控制。协程允许在函数中暂停执行,进行延迟操作或按帧执行复杂动画。通过yieldreturn null实现每帧执行,yieldreturn new WaitForSeconds延迟指定秒数执行,或yieldreturn StartCoroutine启动另一个协程。协程在游戏开发中常用于实现平滑动画过渡、定时任务等场景。

StartCoroutine就是开启一个协程.
yield return 保存函数状态,迭代器块返回调用迭代的地方。等待下次调用继续从当前位置处理。

协程

  • 可以使用 StopCoroutineStopAllCoroutines 来停止协程。 当用 SetActive(false) 禁用某个协程所附加到的游戏对象时,该协程也将停止。调用 Destroy(example)(其中 example 是一个 MonoBehaviour 实例)会立即触发 OnDisable,并会处理协程,从而有效地停止协程。最后,在帧的末尾调用 OnDestroy
  • 通过在 MonoBehaviour 实例上将 enabled 设置为 false 来禁用 MonoBehaviour 时,协程不会停止。

  调用函数时,函数将运行到完成状态,然后返回。这实际上意味着在函数中发生的任何动作都必须在单帧更新内发生;函数调用不能用于包含程序性动画或随时间推移的一系列事件。例如,假设需要逐渐减少对象的 Alpha(不透明度)值,直至对象变得完全不可见。

  协程就像一个函数,能够暂停执行并将控制权返还给 Unity,然后在下一帧继续执行。在 C# 中,声明协程的方式如下:

IEnumerator Fade() 
{
   
   
    for (float ft = 1f; ft >= 0; ft -= 0.1f) 
    {
   
   
        Color c = renderer.material.color;
        c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值