Unity中实现倒计时的几种方式

2023-11-20

1. Time.time

using UnityEngine;

public class TimeTest : MonoBehaviour
{
    public float secound = 10;

    void Update()
    {
        Timing();
    }

    private float nextTime = 1;
    private void Timing()
    {
        if (secound <= 0) return;
        if(Time.time >= nextTime)
        {
            secound -= 1;
            Debug.Log(secound);
            nextTime = Time.time + 1;
        }
    }
}

2. Time.deltaTime

using UnityEngine;

public class TimeTest : MonoBehaviour
{
    public float secound = 10;

    void Update()
    {
        Timing();
    }

    private float waitTime;
    private void Timing()
    {
        if (secound <= 0) return;
        waitTime += Time.deltaTime;
        if(waitTime >=1)
        {
            secound--;
            Debug.Log(secound);
            waitTime = 0;
        }
    }
}

3. InvokeRepeating

using UnityEngine;

public class TimeTest : MonoBehaviour
{
    public float secound = 10;

    void Start() => InvokeRepeating("Timing", 1, 1);

    private void Timing()
    {
        if (secound <= 0) return;
        secound--;
        Debug.Log(secound);
    }
}

4. 协程

using System.Collections;
using UnityEngine;

public class TimeTest : MonoBehaviour
{
    public float secound = 10;

    IEnumerator Start() //将Start方法作为协同程序,则不必调用StartCoroutine
    {        
        while (secound > 0)
        {
            yield return new WaitForSeconds(1);
            secound--;
            Debug.Log(secound);
        }
    }
}

5. 线程

using System.Threading;
using UnityEngine;

public class TimeTest : MonoBehaviour
{
    public float secound = 10;

    void Start()
    {
        Thread thread = new Thread(Timing);
        thread.Start();
    }

    private void Timing()
    {
        while (secound > 0)
        {
            Thread.Sleep(1000);
            secound--;
            Debug.Log(secound);
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity中实现倒计时的几种方式 的相关文章

随机推荐

  • SDL检查

    SDL检查 在用 Visual Studio 编译比较早的代码时 经常会遇到错误 错误 C4996 wcscpy This function or variable may be unsafe Consider using wcscpy s
  • Python+selenium+pytest 自动化测试环境搭建

    Python Selenium Pytest 自动化测试环境搭建 一 安装Python及解释器 二 安装浏览器及对应浏览器驱动 1 安装谷歌浏览器 浏览器安装之后 关闭浏览器的自动更新 因为如果浏览器自动更新了 你的浏览器驱动没有更新 那么
  • Web渗透入侵流程思路

    什么是web渗透入侵呢 渗透测试能够独立地检查你的网络策略 换句话说 就是给你的系统安了一双眼睛 而且 进行这类测试的 都是寻找网络系统安全漏洞的专业人士 下面就来一起学习分享一下web入侵渗透流程中的思路 首先献出一张宝贵的图 这张图上写
  • Fiddler 教程

    Fiddler是最强大最好用的Web调试工具之一 它能记录所有客户端和服务器的http和https请求 允许你监视 设置断点 甚至修改输入输出数据 使用Fiddler无论对开发还是测试来说 都有很大的帮助 阅读目录 Fiddler的基本介绍
  • 异常:java.lang.ArrayIndexOutOfBoundsException

    java lang ArrayIndexOutOfBoundsException 一种运行时异常 常出现在数组下标越界中 称为下标出界异常 代码演示 下面异常报错 就是因为我的数组arr只能有arr 0 arr 1 两个元素 而我的循环中多
  • 番茄钟工作法:你真的了解番茄钟么?

    1 什么是番茄工作法 番茄工作法的发明者 意大利人弗朗西斯科 西里洛于1992年创立了番茄工作法 他和我们大多数人一样 是一个重度拖延症患者 他在大学生活的头几年 曾一度苦于学习效率低下 于是他做了个简单的实验 我就不信我不能专注10分钟
  • MATLAB+JAVA的混合开发

    近期项目中需要使用matlab跟java做混合开发 主要记录一下 此次开发遇到的问题点 环境 使用的matlab版本是 R2018b 当前状况 MATLAB代码已经编写好 且运行成功 需要打成jar包才可以被java调用 步骤一 按照教程安
  • electron 下载过慢解决

    elecetron 起步 根据elecetron 官网上 试了下初始安装 结果第一步安装依赖就挂了 2个命令都试过了不行 npm install save dev electron yarn add dev electron 安装cnpm
  • Linux -安装MySQL

    一 步骤 1 下载 一 查询下本机mysql是否卸载干净 二 下载与安装 2 配置 一 步骤 1 下载 一 查询下本机mysql是否卸载干净 查看mysql情况 rpm qa grep mysql 完全卸载mysql rpm e nodep
  • element-plus中 el-image :src属性发送get请求

    项目场景 Element plus 中
  • MySQL Test Run 测试框架介绍

    介绍 MySQL Test Run 简称MTR 是MySQL官方提供的自动化测试框架 执行脚本在发布路径的mysql test目录下 主要测试步骤 是通过执行一个case test 中的语句 包括sql语句和其他管理语句 将case的输出记
  • Anaconda学习

    Anaconda conda 创建 激活 退出 删除虚拟环境 Anaconda超详细教程2023 7 10 windows 网络连接错误 1 首先学习anaconda是什么 Anaconda 官方网站 就是可以便捷获取包且对包能够进行管理
  • 计算机开机后反复上电无法启动,电脑无法开机一直重启显示器也不亮——用排除法一样来,拔...

    重新启动后无法打开计算机且显示器也无法打开 使用消除方法进行相同的操作 拉出图形卡并使用核心显示系统 通常 这是显卡问题 但仍然无法输入 拉出记忆棒 然后再试一次 然后放回原位 它可以正常启动吗 如果手边还有另一个内存模块 请拔出原来的内存
  • firewall-cmd使用--remove-rich-rule删除rich-rule规则

    命令格式 firewall cmd permanent remove rich rule 规则列表 firewall cmd permanent remove rich rule rule family ipv4 source addres
  • Log4j2漏洞修复

    一 漏洞说明 Apache Log4j2是一个基于Java的日志记录工具 由于Apache Log4j2某些功能存在递归解析功能 攻击者可直接构造恶意请求 触发远程代码执行漏洞 漏洞利用无需特殊配置 经阿里云安全团队验证 Apache St
  • npm安装卸载命令

    npm安装卸载命令 npm安装模块 npm 安装 npm install xxx 利用 npm 安装xxx模块到当前命令行所在目录 npm install xxx 安装但不写入package json npm install g xxx 利
  • CM4 启用UART3~6

    vim boot config txt dtoverlay uart0 dtoverlay uart3 txd3 pin 4 rxd3 pin 5 dtoverlay uart4 txd4 pin 8 rxd4 pin 9 dtoverla
  • mongodb学习笔记

    MongoDB 1 下载安装 1 1 下载MongoDB 这里我推介下载zip版本 解压到任意盘 由于C盘容易满 所以我放到了D盘 我在D盘创建了一个 mongoDB 的目录 并将压缩包解压到了这个目录里面 下载地址 https www m
  • [当人工智能遇上安全] 8.基于API序列和机器学习的恶意家族分类实例详解

    您或许知道 作者后续分享网络安全的文章会越来越少 但如果您想学习人工智能和安全结合的应用 您就有福利了 作者将重新打造一个 当人工智能遇上安全 系列博客 详细介绍人工智能与安全相关的论文 实践 并分享各种案例 涉及恶意代码检测 恶意请求识别
  • Unity中实现倒计时的几种方式

    1 Time time using UnityEngine public class TimeTest MonoBehaviour public float secound 10 void Update Timing private flo