Unity日记22(携程概念)

news2024/9/24 7:25:28

 

目录

学习视频

携程

1异步

2调用方法

3优点

4停止方法

         5返回值

实例:每过一秒打印当前运行时间

实例:停止数字打印携程

错误方法:(携程只能开一个)

参考方法


学习视频

https://www.bilibili.com/video/BV1eu411U7EL/?spm_id_from=333.337.search-card.all.click&vd_source=ab35b4ab4f3968642ce6c3f773f85138

携程

是一个返回值是IEnumerator的函数,异是一个步多任务处理的函数

异步

异步多任务处理:穿插处理任务

异步意味着不停止就会运行。

调用方法

startcoroutine(方法)

startcoroutine(方法名)

优点

代替update的方法:update方法,每帧执行一次,非常消耗内存。

停止方法

StopCoroutine(方法名)

StopAllCoroutines()

 

返回值

实例:每过一秒打印当前运行时间

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class IEnumer : MonoBehaviour
{
    void Start()
    {
        StartCoroutine(Timer());
    }

    IEnumerator Timer()
    {
        int count = 0;
        while (true)
        {
            yield return new WaitForSeconds(1);
            count++;
            Debug.Log(count);
        }
    }
}

实例:停止数字打印携程

判断成功标准:不再打印数字

错误方法:(携程只能开一个)

Func_Controller没把Timer停下来

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class IEnumer : MonoBehaviour
{
    int count = 0;
    void Start()
    {
        StartCoroutine(Timer());

        StopCoroutine(Func_Controller());//5秒后停止指定携程
        
    }

    IEnumerator Timer()
    {
        while (true)
        {
            yield return new WaitForSeconds(1);
            count++;
            Debug.Log(count);
        }
    }

    IEnumerator Func_Controller()
    {
        if (count >= 5)
        {
            StopCoroutine(Timer());
            Debug.Log("STOP");
            yield return 1;
        }
    }
}

参考方法

在TImer里面写,在同一个携程内实现停止自身。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class IEnumer : MonoBehaviour
{
    int count = 0;
    void Start()
    {
        StartCoroutine(Timer());
    }

    IEnumerator Timer()
    {
        while (true)
        {
            yield return new WaitForSeconds(1);//等一秒
            count++;
            Debug.Log(count);
            if (count >= 5)
            {
                StopCoroutine(Timer());
                Debug.Log("STOP");
                yield break;
            }
        }
    }
}

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

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

相关文章

什么是轻量云服务器,有哪些优势,适用于什么场景?

​  随着互联网的迅速发展,越来越多的企业选择将自己的业务部署到云服务器上。而轻量级云服务器作为云计算领域的一种新的服务模式,也开始受到越来越多企业的青睐。那么,究竟何为轻量级云服务器?其优势又在哪里?又适用于哪些场景?以下将…

前端--移动端--3移动web开发rem适配布局

目标: 能够适应rem单位 能够使用媒体查询的基本语法 能够使用less的基本语法 能够使用less中的嵌套 能够使用less中的运算 能够使用2种rem适配方案 能够独立完成苏宁移动端首页 目录: rem基础 媒体查询 less基础 rem适配方案 苏宁首页案例…

如何修改AS2接收的文件名?

知行之桥EDI系统的AS2端口,负责接收和发送EDI文件。企业通过AS2端口接收来自交易伙伴的文件时,其文件名会和交易伙伴发出的文件名完全一致;如果交易伙伴发过来的请求中没有文件名或者文件名没有出现在AS2 协议规定的位置,AS2端口会…

K_A33_001 基于STM32等单片机驱动RC522射频卡 读写IC卡 串口显示

K_A33_001 基于STM32等单片机驱动RC522射频卡 读写IC卡 串口显示 所有资源导航一、资源说明二、基本参数参数引脚说明 三、驱动说明时序:对应程序: 四、部分代码说明1、接线引脚定义1.1、STC89C52RCRC522射频模块1.2、STM32F103C8T6RC522射频模块 五、基础知识学习与相关资料下…

Django分页+增删改查

Django分页增删改查 演示 源码下载地址:https://download.csdn.net/download/qq_35622606/87719248 其他小笔记: django-admin.exe startproject mysite python .\manage.py startapp app01 python manage.py makemigrations python manage.py migrate…

Docker系列---Docker Compose | 容器编排 | 理论详解

目录 1.Docker Compose 概述(YML) 2.Docker Compose 安装 3.Docker Compose 配置常用字段 4.Docker Compose 常用命令 5.基于 Compose 创建 镜像 1.首先安装好Compose 2.使用Dockerfile环境: 1.Docker Compose 概述(YML&am…

docker + K8S + Rancher + Harbor的安装

docker K8S Rancher Harbor的安装 1. 系统初始化 关闭防火墙 systemctl stop firewalld禁用防火墙开机自启 systemctl disable firewalld永久-关闭selinux sed -i s/enforcing/disabled/ /etc/selinux/config # 重启 reboot关闭swap分区 # 永久 sed -ri s/.*swap.*/#&/…

重启电脑数据丢失怎么恢复?这篇指南很受用!

案例分享:“你好,我重新启动了我的win10电脑,电脑为什么再次开机后,下载的软件就不见了?不仅如此,我的文档也消失不见了,这令我很困惑。请问重启电脑数据丢失怎么恢复?请大家帮帮我&…

系统分析师考试,信息安全常错题

计算机网络---其他 Stub区域是一种比较特殊的区域,因为它不能像其他区域那样,经过该区域中的ABR接收其他OSPF AS路由。在Stub区域的内部路由器仅需要配置一条到达该区域ABR的默认路由(0.0.0.0.0.0.0.0)来实现与同一AS中不同区域间…

CloudCompare插件开发之如何设计界面ui与功能实现?

文章目录 0.引言1.使用文件说明2.添加界面ui相关文件到插件目录3.修改工程相关文件并生成4.结果展示 0.引言 CloudCompare源代码编译成功后,即可进行二次开发,可通过修改源码实现二次开发基础功能(见:CloudCompare如何进行二次开发…

#mysql binlog 备份恢复数据流程#

模式:mysql全量备份binlog日志完整恢复数据 首先,数据库在误操作之前必须已经开启了binlog日志功能,且binlog日志的保存周期必须大于全备份的时间周期! 所谓恢复,就是让将全备份的数据全部恢复后,再使用my…

HTB-Time

HTB-Time 信息收集80端口 立足pericles -> root 信息收集 80端口 有两个功能,一个是美化JSON数据。 一个是验证JSON,并且输入{“abc”:“abc”}之类的会出现报错。 Validation failed: Unhandled Java exception: com.fasterxml.jackson.core.JsonPa…

当⻉借⼒阿⾥云落地云原⽣架构转型,运维降本、效率稳定性双升

作者:当贝技术团队 随着业务飞速发展,当贝的传统 IT 资产也渐显臃肿,为了避免制约发展的瓶颈,痛定思痛,技术团队果断变革:核心业务云原生化之后,运维效率、整体稳定性和研发效率均得到了全面提…

网络基础知识

网络基础知识 一、什么是二层互通与三层互通?1.1 二层网络互通1.2 三层网络互通 二、什么是Overlay网络?2.1 Underlay网络2.2 Overlay网络2.3 Underlay网络 vs Overlay网络 三、什么是SNMP?3.1 SNMP概念3.2 为什么需要SNMP?3.3 SN…

基于ubuntu18.04.6 LTS服务器安装nvidia驱动

1对于一个刚刚配置的服务器,首先nvidia-smi,自然无法显示Driver Version、最高cuda版本等信息。 nvidia-smi: command not found 需要我们自己安装nvidia驱动 2禁用老驱动 禁用自带nouveau驱动 sudo vim /etc/modprobe.d/blacklist.conf 打开后在CONF文…

本地配置nacos例子

nacos的加载顺序 0、application.properties 1、bootstrap.properties 2、bootstrap-{profile}.properties #本地启动 nacos的配置文件的生成规则,当我正常启动项目时 nacos的配置文件名字生成规则为 ${spring.application.name}.yaml spring:application:name…

面试redis之两大金刚,你懂吗

前言 Redis持久化,一个老掉牙的问题,但是面试官就是喜欢问。这也是我们学Redis必会的一个知识点。Redis作为内存数据库,它工作时,数据都保存在内存里,这也是它为什么很快的一个原因。但存到内存里肯定是有丢数据的风险…

为什么我们能判断声音的远近

想象一下,当我们走在路上时,听到了头顶的鸟儿在树梢间的叫声,即使无法透过浓密的树叶看见它,也可以大致知道鸟儿的距离。此时身后传来由远到近自行车铃铛声,我们并不需要回过头去看,便为它让开了道路。这些…

查找文件路径——whereis、which、locate、find命令

目录标题 whereis命令——通过环境变量查找所有文件(包括可执行文件)which命令——查找系统命令文件与whereis命令区别 locate命令——全局搜索find命令(全盘搜索)find命令中的参数及作用按照文件名搜索按照文件大小搜索按照修改时…

离散数学-考纲版-02-谓词

文章目录 2. 谓词参考2.1 命题2.1 个体谓词和量词2.1.1 个体2.1.2 谓词2.1.3 量词引入个体域符号化量词真值确定谓词符号化举例示例一示例二示例三示例四 2.3谓词合式公式2.3.1 四类符号2.3.2 项2.3.3 合式公式 2.4 自由变元与约束变元2.4.1 定义2.4.2 判定2.4.3 两个规则2.4.4…