当前位置: 首页 > news >正文

【Unity】IEnumeratorCoroutine

结论:

IEnumerator是协程的方法迭代器
Coroutine是Unity对协程执行状态的“控制句柄”

IEnumerator是.NET中的接口,表示一个可迭代的过程(迭代器),在Unity中,协程方法的返回值就是IEnumerator。

它里面定义了
bool MoveNext();//表示推进一步,是否还有下一项

object Current;//当前这一项

void Reset();//重置到初始状态,Unity中一般不用

这三个方法/属性是 C# 中foreach背后的原理(增广背景理解)。

在 Unity 中,协程方法返回的是 IEnumerator。  
虽然从语法上来说并不“强制要求”写 yield,但如果不写 yield,协程会立即执行完毕,不具备“暂停”的特性,也就无法实现延迟或异步效果。  

实际上,写了 yield 的 IEnumerator 方法会被编译器转换为状态机(State Machine),Unity 的协程系统正是基于这一点实现逐帧执行与时间控制的。

Coroutine是UnityEngine中的类,表示一个正在执行的协程实例。

它由StartCoroutine返回,Coroutine本身没有公开的属性或状态,它只是一个控制句柄,用来取消或引用协程。

http://www.xdnf.cn/news/1144819.html

相关文章:

  • Ubuntu系统下交叉编译Android的X265库
  • Leetcode 04 java
  • cartorgapher的编译与运行
  • 网工知识——vlan技术
  • Linux操作系统之线程:分页式存储管理
  • 记录DataGrip 2025.1.3破解失败后,无法重启问题修复
  • 从“代码工坊“到“思维引擎“:Claude Code如何重塑编程权力结构
  • 习题4.1 输出3个人的顺序
  • 一文了解CDA
  • 优先算法——专题九:链表
  • 25数据库三级备考自整理笔记
  • 让管理软件回归简单实用:软件定制开发之道
  • 微信小程序商品结算功能
  • 网络原理 ——HTTPS
  • Linux服务器端口被占用?
  • 【leetcode】3202. 找出有效子序列的最大长度(2)
  • RV126平台NFS网络启动终极复盘报告
  • 二进制专项
  • 分表聚合助手类
  • 常用的折叠展开过渡动画效果css
  • 20250718-5-Kubernetes 调度-Pod对象:重启策略+健康检查_笔记
  • Python数据类型探秘:解锁编程世界的魔法钥匙
  • JavaScript 的垃圾回收机制
  • Maven下载安装与idea配置
  • FLTK UI窗口关闭时延时卡顿问题全流程分析与优化实战
  • 探索 Vue 3.6 的新玩法:Vapor 模式开启性能新篇章
  • 帆软可视化图
  • Vue3 从 0 到 ∞:Composition API 的底层哲学、渲染管线与生态演进全景
  • JavaScript笔记
  • 【JS笔记】Java Script学习笔记