Unity 协程(Coroutine)的原理以及用法

news2024/12/23 9:51:31

目录

  • 事件函数的执行顺序
  • 定义
  • 使用
    • yield instruction中的子类
  • 总结

参考链接 :Unity 5分钟基础的了解协程

事件函数的执行顺序

在这里插入图片描述

定义

  • 定义:开启一段和主程序异步执行的逻辑
  • 异步执行:是指语句在异步执行模式下,各语句执行结束的顺序与语句执行开始的顺序并不一定相同

使用

  1. 需要用IEnumerator迭代器命名
  2. 使用yield return关键字返回
  • 执行顺序:Start --> Update --> yield return 0/null (将程序暂时挂起,在这一帧的update执行后再执行之后的代码
  1. 开启/停止 协程
    StartCoroutine(Print()); // 开启协程
    StopCoroutine(Print()); // 停止指定协程
    StopAllCoroutines(); // 停止所有协程
public class Coroutine : MonoBehaviour
{
    void Start()
    {
        StartCoroutine(Print());
        Debug.LogError("2222");
    }

    IEnumerator Print()
    {
        Debug.LogError("1111");
        yield return 0;
        Debug.LogError("3333");
    }
}

在这里插入图片描述

yield instruction中的子类

使用时需要添加new关键字

  1. WaitForSeconds 等待对应秒数(受timescale影响)
yield return new WaitForSeconds(1);
  1. WaitForSecondsRealtime 等待对应秒数(不受timescale影响)
yield return new WaitForSecondsRealtime(1);

在这里插入图片描述
3. WaitForFixedUpdate 在 FixedUpdate(物理运算) 所有代码执行完毕再运行后面的代码
4. WaitForEndOfFrame 在这一帧所有代码执行完(包括Update、FixedUpdate和GUI渲染)后再运行

总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1041762.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python异步编程之web框架 异步vs同步 文件IO任务压测对比

主题:比较异步框架和同步框架在文件IO操作的性能差异python版本:python 3.8压测工具:locustweb框架:同步:flask 异步:aiohttp、starlette异步文件模块:aiofiles、anyio.Path请求并发量: 模拟10个…

EPICS sequencer状态机示例

状态机源代码: #define PVSYS "pvsysca" #define LIGHT "{prefix}:light" #define LIGHTON "{prefix}:lightOn" #define LIGHTOFF "{prefix}:lightOff" #define VOLTAGE "{prefix}:voltage" #define LO…

机器人过程自动化(RPA)入门 3. 顺序、流程图和控制流程

到目前为止,我们已经了解了RPA是什么,并且我们已经看到了通过记录任务的活动并运行它来训练UiPath机器人是多么简单。使用记录器的UiPath可以很容易地自动化日常任务。在我们开始自动化复杂的任务之前,让我们学习如何控制从一个到另一个的活动…

【算法分析与设计】算法概述

目录 一、学习要点二、算法的定义三、算法的性质四、程序(Program)五、问题求解(Problem Solving)六、算法的描述七、算法分析的目的八、算法复杂性分析(一)算法时间复杂性分析(二)算法渐近复杂性1、渐进上界记号-大O符号2、渐进下…

Prometheus+Grafana监控K8S集群(基于K8S环境部署)

文章目录 一、环境信息二、部署前准备工作三、部署Prometheus监控系统四、部署Node_exporter组件五、部署Kube_state_metrics组件六、部署Grafana可视化平台七、Grafana可视化显示Prometheus收集数据八、Grafana添加监控模板九、拓展 一、环境信息 1、服务器及K8S版本信息&…

现代卷积网络实战系列4:PyTorch从零构建VGGNet训练MNIST数据集

🌈🌈🌈现代卷积网络实战系列 总目录 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 1、MNIST数据集处理、加载、网络初始化、测试函数 2、训练函数、PyTorch构建LeNet网络 3、PyTorch从零构建AlexNet训练MNIST数据…

【7.Vue 利用Heatmap.js 制作自定义热力图】

1.效果 2.背景 需要根据后端检测的设备的数值显示设备周围的清洁度,用户希望用热力图的方式来显示,于是在网上找了资料,发现可以用Heatmap.js来实现。 Heatmap.js 官网:https://www.patrick-wied.at/static/heatmapjs/ 3.引入组件 安装Heatmap.js npm install Heatmap.…

京东(JD)——利用人工智能实现自动零售

京东(JD)是中国最大的在线零售商之一,也是一家以高科技和人工智能物流而闻名的公司,其人工智能物流系统包括无人机交付系统、自动配送快递车以及机器人自动化配送中心。 京东一直致力于将机器人用于尽可能多地实现零售业务的物理自动化。 1.京东的人工智…

Nginx WEB访问与Linux授权约束

看到所有文件的权限都是没有的,即便所有的权限都没有即使nginx做了配置,这些都是正确的。那么在浏览器真正去访问的时候是不能访问的。 [rootjenkins html]# ls -l total 4 drwxr-xr-x 2 root root 23 Sep 16 17:43 dist ---------- 1 root root 33 Sep …

解决百度网盘登录安全验证显示空白页

百度网盘Windows客户端第一次登陆时会让验证身份 不知道什么BUG,有的系统能直接验证,有的系统不能,对于我这种频繁换环境的是真的难受。 试过网上各种方法,什么重启、重装、在IE设置中添加信任站点、清除IE缓存都不行。 但是这些…

nodejs+vue 医院病历管理系统

系统使用权限分别包括管理员、病人和医生,其中管理员拥有着最大的权限,同时管理员的功能模块也是最多的,管理员可以对系统上所有信息进行管理。用户可以修改个人信息,对医院病历信息进行查询,对住院信息进行添加、修改…

手机资讯:华为Mate60 Pro上手体验三天的使用体验

最近华为Mate60 Pro开售的消息引爆了整个数码科技圈,毕竟还没开发布会就直接开售新机,这放在整个手机界都是绝无仅有的,并且华为也官方放出了华为Mate60系列的所有参数配置,但唯独没有公开芯片型号和网络信号类型,不免…

ICCV 2023|Occ2Net,一种基于3D 占据估计的有效且稳健的带有遮挡区域的图像匹配方法...

本文为大家介绍一篇入选ICCV 2023的论文,《Occ2Net: Robust Image Matching Based on 3D Occupancy Estimation for Occluded Regions》, 一种基于3D 占据估计的有效且稳健的带有遮挡区域的图像匹配方法。 论文链接:https://arxiv.org/abs/23…

SQLyog安装教程

安装完MySQL数据库之后,为了便于我们对数据库的操作,所以安装一个用于数据库可视化的软件SQLyog。以下是安装步骤: 1. 解压之后安装。 选择SQLyog.exe或者SQLyog-11.2.4-0.X86。打开安装包之后,需要改安装路径的该安装路径&…

智慧公厕数字技术实现城市公共厕所智能升级

随着城市化进程的不断加快,城市公共厕所作为一个重要的基础设施,扮演着不可忽视的角色。然而,在现实中,很多城市公共厕所的设施陈旧、管理不善,给人们的生活带来了许多不便。为了解决这一问题,智慧公厕数字…

节省草稿纸的方法

问题描述:平时需要写一些简单的算法,手边没有草稿纸怎么办? 问题解决:可以使用一个QQ截图或者其他截图,然后使用画笔在截图上进行简单写画。在进行网上授课时,也可以常用这种方法。 如下图所示&#xff1…

PriorityQueue如何确定构建的是大根堆还是小根堆

PriorityQueue可以自定义传入的Comparator来比较内部元素的大小&#xff0c;Comparator比较时的返回如下&#xff1a; 如果o1 o2 ,返回0 如果o1 < o2 ,即 o1-o2 < 0 ,则返回负数 如果o1 > o2 ,即 o1-o2 > 0 ,则返回正数 如下是PriorityQueue类中新放入元素时执行的…

数据一致性:核心概念与实现策略

在当今的信息时代&#xff0c;数据已经成为了企业的核心资产之一。然而&#xff0c;随着数据量的不断增长和应用场景的不断扩大&#xff0c;如何保证数据的一致性成为了一个重要的挑战。数据一致性不仅关系到系统的正确性和可靠性&#xff0c;也直接影响到用户的体验和企业的业…

nrf52840 DK接口

外部接口 Arduino接口 按键和LED接口 Debugout接口&#xff08;P20&#xff09; Debugout接口&#xff08;P19)

rm误删文件恢复

rm误删文件恢复 问题描述安装extundeleteyum安装extundelete编译安装extundelete 常用参数动作(action)&#xff1a; 尝试数据恢复前置条件卸载磁盘分区查看被删除数据信息 恢复文件恢复指定inode号文件恢复指定文件名恢复指定目录恢复所有可恢复文件恢复指定时间的文件恢复指定…