首页 > 其他分享 >[Unity]协程

[Unity]协程

时间:2023-09-07 18:22:07浏览次数:52  
标签:返回 return yield Unity 协程 null

Unity协程

  • yield return null暂停一帧
  • yield return new WaitForSeconds(1.0f)暂停一秒
  • yield return StartCoroutine()等这个新协程结束
  • yield return new WaitForEndOfFrame()等待到帧的末尾
  • MonoBehaviour被Disable的时候协程会继续执行
  • 在协程执行耗时操作会阻塞主线程,因为本质上协程也是游戏主循环的一部分,游戏主循环是单线程运行的
    • 在耗时算法中拆几个yield return null分到几帧去执行
    • 如果没有使用Unity API(其他线程不可以访问Unity API),在异步线程执行操作
  • 协程的本质是一个能暂停返回的函数,协程调度是实现在MonoBehaviour的生命周期中的,协程本身的原理用的是C#迭代器方法
  • Unity的协程只允许返回继承自YieldInstruction的对象或者null,返回其他对象当做null处理

C#的迭代器方法

  • 返回值要求返回IEnumerator,调用时返回一个迭代器,调用MoveNext执行到yield返回一次
  • 调用Current返回当前的返回值
  • IEnumerator<T>只能返回T类型的对象

标签:返回,return,yield,Unity,协程,null
From: https://www.cnblogs.com/m1ds/p/17685717.html

相关文章

  • Unity 编辑器资源导入处理函数 OnPostprocessTexture :深入解析与实用案例
    Unity编辑器资源导入处理函数OnPostprocessTexture用法点击封面跳转下载页面简介在Unity中,我们可以使用编辑器资源导入处理函数(OnPostprocessTexture)来自定义处理纹理资源的导入过程。这个函数是继承自AssetPostprocessor类的,通过重写这个函数,我们可以在纹理资源导入完成......
  • Unity UGUI的ScrollRect(滚动视图)组件的介绍及使用
    UnityUGUI的ScrollRect(滚动视图)组件的介绍及使用1.什么是ScrollRect组件?ScrollRect(滚动视图)是UnityUGUI中的一个常用组件,用于在UI界面中创建可滚动的区域。通过ScrollRect组件,可以实现在有限的空间内显示大量的内容,并且可以通过滑动手势来浏览内容。2.ScrollRect组件的工作......
  • 【unity】使用QFramework开发微信小游戏的总结
    前言在使用Unity+QFramework开发微信小游戏的过程中遇到了一些问题,在此记录下来,方便查阅参考。主要问题主要问题是框架的资源加载方式和小游戏要求不一致。QFramework的UIKit和AudioKit依赖于ResKit,ResKit底层是从本地磁盘上读取AB包的。而[微信小游戏官方文档](minigame-u......
  • Unity 打包发布到 Web 踩坑
    重新打包发布后,网页内容没有更新。原因:浏览器有缓存机制,非首次访问网页时使用的可能是本地缓存数据。解决方案:手动清理下浏览器缓存参考文档:浏览器缓存机制   ......
  • 16协程的简单实现
      importasyncioimportrequests'''安装:pipinstallasynciopython使用协程会让程序并发能力得到提高,(只能说拥有一定的并发能力),协程是线程的升级版,比线程更高效、消耗更低。应用场景:1.在一些io密集型任务。2.异步程序设计。使用协程有一定的限制,函数、库要支持异......
  • unity圆内随机一个点
    ///<summary>///根据半径随机出园内的点///</summary>///<paramname="vRadius"></param>///<returns></returns>publicstaticVector2GetRandomInCircle(floatvRadius){......
  • Unity UGUI的Dropdown(下拉菜单)组件的介绍及使用
    UnityUGUI的Dropdown(下拉菜单)组件的介绍及使用1.什么是Dropdown组件?Dropdown(下拉菜单)是UnityUGUI中的一个常用组件,用于在用户点击或选择时显示一个下拉菜单,提供多个选项供用户选择。2.Dropdown组件的工作原理Dropdown组件由两部分组成:一个可点击的按钮和一个下拉菜单。当......
  • Unity UGUI的Scrollbar(滚动条)组件的介绍及使用
    UnityUGUI的Scrollbar(滚动条)组件的介绍及使用一、什么是Scrollbar组件?Scrollbar组件是Unity中UGUI系统提供的一种UI组件,主要用于在UI界面中提供滚动条功能,使用户可以通过滚动条来查看超出屏幕范围的内容。二、Scrollbar组件是如何工作的?Scrollbar组件的工作原理主要是通过改......
  • Unity业务抽象套路二、EIP Everythings Is Prefab
     为什一些控制、数据管理的逻辑也要做成Prefab?好处:可以在Inspector中调整参数(而不是散落在各个配置文件中)调试时能够在Inspector确认具体数值自然地支持一系列方法:携程、定时、Update、FixedUpDate注意:有人习惯将配置写成ScriptableObject然后统一以此来管理。个人建......
  • Unity3D下如何采集camera场景数据并推送RTMP服务?
    Unity3D使用场景Unity3D是非常流行的游戏开发引擎,可以创建各种类型的3D和2D游戏或其他互动应用程序。常见使用场景如下:游戏开发:Unity3D是一个广泛用于游戏开发的环境,适用于创建各种类型的游戏,包括动作游戏、角色扮演游戏、策略游戏、冒险游戏等。虚拟现实:Unity3D也常用于虚拟现实(VR......