Unity中的协程进行等待yield return new WaitForSeconds(1.2f);为什么要有new

yield return new WaitForSeconds(1.2f); 这个语句中,new 关键字用于实例化 Unity 内置的 WaitForSeconds 类的一个新实例。

WaitForSeconds 是一个结构体(struct),它封装了一个等待特定秒数的行为。当你写 new WaitForSeconds(1.2f) 时,实际上是创建了一个表示等待1.2秒的对象实例。这个对象在协程中扮演了“暂停令牌”的角色,告诉Unity引擎在协程恢复执行之前需要等待多长时间。

总结来说,“new”关键字在这里用来创建一个具体的等待时间对象,而不仅仅是声明一个等待时间的数值。通过实例化 WaitForSeconds 类来利用Unity的协程系统进行精确的帧同步延时处理。
yield return new WaitForSeconds(1.2f); 这句话是在Unity C#脚本中使用的协程(Coroutine)语法。协程是一种特殊的执行流程控制机制,它可以暂停函数的执行并在指定的时间点恢复。

具体到这句话的含义和原理:

  • yield: 在C#中,配合 IEnumerator 接口,yield 关键字用于创建一个迭代器,允许你在函数中定义一种生成一系列值的方式,每次调用 MoveNext() 方法时返回下一个值。在Unity中,当在一个协程函数中使用 yield 时,它会暂停当前协程的执行,并在下一次更新循环时从暂停的地方继续执行。

  • return new WaitForSeconds(1.2f);: 这里 WaitForSeconds(1.2f) 是Unity内建的一种 yield 值类型,它代表等待1.2秒。当协程遇到 yield return new WaitForSeconds(1.2f); 这一行时,它会立即返回,并暂停协程的执行。然后在1.2秒后,协程会自动恢复执行,从 yield 语句之后的下一条指令开始。

所以整个语句的作用就是:在协程执行过程中暂停1.2秒,然后继续执行后面的代码。这种方式常用于游戏中实现延迟执行、定时任务等功能。

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值