当前位置: 首页 > news >正文

Unity计时器

using UnityEngine;
using System.Collections;public class Timer : MonoBehaviour
{public float duration = 1.0f; // 定时器持续时间public bool isLooping = false; // 是否循环public bool isPaused = false; // 是否暂停计时器private float currentDuration = 0.0f; // 当前持续时间// 定时器结束事件public delegate void OnTimerFinishedDelegate();public event OnTimerFinishedDelegate OnTimerFinished;// 每帧更新计时器void Update(){if (isPaused) return;currentDuration += Time.deltaTime;if (currentDuration >= duration){if (OnTimerFinished != null) OnTimerFinished();if (isLooping) currentDuration -= duration;else enabled = false;}}// 重置计时器public void ResetTimer(){currentDuration = 0.0f;enabled = true;}// 暂停计时器public void PauseTimer(){isPaused = true;}// 继续计时器public void ResumeTimer(){isPaused = false;}
}

这个计时器包含了以下基本功能:

  • 可以设置定时器的持续时间、是否循环和是否暂停;
  • 可以在计时器结束时触发事件;
  • 可以重置、暂停和继续计时器。

你可以在需要使用计时器的脚本中添加Timer组件,然后访问组件并调用函数来控制计时器的行为。例如,在Start()函数中初始化计时器:

private Timer timer;void Start()
{timer = gameObject.AddComponent<Timer>();timer.duration = 5.0f;timer.OnTimerFinished += OnTimerFinishedHandler;
}// 计时器结束事件处理函数
void OnTimerFinishedHandler()
{Debug.Log("计时器结束了!");
}

然后,你可以在需要的时候调用计时器的函数来控制计时器的运行:

timer.ResetTimer(); // 重置计时器
timer.PauseTimer(); // 暂停计时器
timer.ResumeTimer(); // 继续计时器

http://www.lryc.cn/news/215719.html

相关文章:

  • Unity热更新介绍
  • 在虚拟机centos7中部署docker+jenkins最新稳定版
  • nodejs express vue 点餐外卖系统源码
  • 微信小程序导入js使用时候报错
  • 相机存储卡被格式化了怎么恢复?数据恢复办法分享!
  • Firefox修改缓存目录的方法
  • maven子模块无法导入jar包问题
  • ardupilot开发 --- 代码解析 篇
  • C++引用概述
  • 精准努力,提升自己的核心竞争力——中国人民大学与加拿大女王大学金融硕士
  • string【C++】
  • 【Python爬虫】selenium4新版本使用指南
  • CCF_A 计算机视觉顶会CVPR2024投稿指南以及论文模板
  • 什么是鉴权?一篇文章带你了解postman的多种方式
  • go 语言介绍
  • 查询平均提速 700%,奇安信基于 Apache Doris 升级日志安全分析系统
  • Linux越学越头疼,我要怎么办?
  • 使用Fiddler进行Mock测试
  • js字符串支持多个分隔符分割
  • ajax-axios发送 get请求 或者 发送post请求带有请求体参数
  • C++ 单例模式
  • apache seatunnel支持hive jdbc
  • 【Git企业开发】第四节.Git的分支管理策略和bug分支
  • 玩转硬件之Micro:bit的玩法(四)——声控灯
  • STM32-创建项目流程
  • 软件测试 —— 移动端测试
  • PCL 计算一个平面与一个三角形的交线
  • Redis 应用问题
  • Java 谈谈你对OOM的认识
  • JavaScript中BOM与DOM