【Unity3D日常开发】实现一款计时器和倒计时工具
2023-09-11 14:19:57 时间
推荐阅读
大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。
一、前言
今天分享一下如何基于Unity3D做计时器工具,为了方便演示,使用了UGUI的Text,代码简单具有拓展性,然后有什么错误或者意见也欢迎大家给我提出来。微信二维码已经显示在博客主页,有想要沟通学习的,项目外包的都可以加一下。
分享一下我另一篇关于时间计时的文章:
【Unity3D】获取到游戏时间,并显示出来
二、效果图
计时器效果
倒计时效果
三、本文链接
本文链接:https://blog.csdn.net/q764424567/article/details/103784853
GitHub项目源码下载:https://github.com/764424567/Demo_Timer
四、代码
using UnityEngine;
using UnityEngine.UI;
public class Test_1 : MonoBehaviour
{
string m_Mins = "0";
string m_Sec = "0";
float m_TempMins = 0;
float m_TempSec = 0;
bool m_IsTimed = true;
bool m_IsCountDown = true;
private void Awake()
{
//计时器
//SetTimed("00:00");
//倒计时
SetTimed("10:00");
string TimeStr = transform.GetComponent<Text>().text;
string[] TimeStrSplit = TimeStr.Split(':');
m_TempMins = float.Parse(TimeStrSplit[0]);
m_TempSec = float.Parse(TimeStrSplit[1]);
m_IsCountDown = false;
}
private void FixedUpdate()
{
if (m_IsCountDown)//计时器
{
if (m_IsTimed)
{
if (transform.GetComponent<Text>().text == "09:59")
{
transform.GetComponent<Text>().text = "10:00";
m_Mins = "00";
m_Sec = "00";
m_TempMins = 0;
m_TempSec = 0;
m_IsTimed = false;
}
else
{
if (m_TempSec >= 9)
{
m_Sec = (m_TempSec += 1).ToString();
if (m_TempSec == 60)
{
m_Sec = "00";
m_TempSec = 0;
m_TempMins += 1;
}
}
else
{
m_Sec = "0" + (m_TempSec += 1).ToString();
}
m_Mins = "0" + m_TempMins.ToString();
transform.GetComponent<Text>().text = m_Mins + ":" + m_Sec;
}
}
}
else//倒计时
{
if (m_IsTimed)
{
if (m_TempSec <= 10)
{
if (m_TempSec == 0)
{
if (m_TempMins == 0)
{
transform.GetComponent<Text>().text = "00:00";
m_IsTimed = false;
}
else
{
m_TempSec = 60;
m_TempMins -= 1;
if (m_TempMins <= 10)
{
m_Mins = "0" + m_TempMins.ToString();
}
else
{
m_Mins = m_TempMins.ToString();
}
}
m_Sec = m_TempSec.ToString();
}
else
{
m_Sec = "0" + (m_TempSec -= 1).ToString();
}
}
else
{
m_Sec = (m_TempSec -= 1).ToString();
}
transform.GetComponent<Text>().text = m_Mins + ":" + m_Sec;
}
}
}
public void SetTimed(string time)
{
transform.GetComponent<Text>().text = time;
}
}
相关文章
- 通过使用 NTLite 工具实现精简Windows系统
- 基于dalvik模式下的Xposed Hook开发的某加固脱壳工具
- mysqldump工具,通过--where选项,导出指定表中指定数据?
- 用C#开发的一个通用的地铁换乘查询工具
- 【工具】简道云零代码开发平台
- 微服务性能测试的方法和工具
- 微服务轮子项目(50) -JVM 分析工具详解
- 软件测试必备工具之抓包工具Charles教程
- 提高 Linux 开发效率的 5 个工具
- ubuntu下安装mkfs.jffs工具
- Linux命令02 - - iptables 防火墙策略管理工具
- 《Android 应用案例开发大全(第二版)》——2.8节工具常量类
- 《21天学通HTML+CSS+JavaScript Web开发(第7版)》——2.3 使用Google Chrome 开发者工具
- 《libGDX移动游戏开发从入门到精通》一2.4 日志工具
- iOS开发一个制作Live Photo的工具
- linux性能监视工具sar
- MBaaS和重构工具简化应用开发
- 百日完成国产数据库opengausss的开源任务--如何开发opengauss工具DataStudio
- Unity 工具类 之 AR/VR 开发中鼠标移动模拟头显旋转效果
- 开发漫谈:最受DevOps欢迎的五种工具
- 程序员私藏的工具轻松实现项目开发一个命令发起Merge Request项目代码提交合并,可以指定代码Code View审核人
- 最新git项目开发中一键发起merge request工具,自动识别本地环境,支持windows、Linux、Mac,包含使用教程和资料.
- 工具及方法 - Process Explorer以及类似工具,用来获取系统运行的进程信息
- Spring RCE漏洞CVE-2022-22965复现与JavaFx GUI图形化漏洞利用工具开发
- iOS macOS的后渗透利用工具:EggShell
- 每个Java开发者都应该知道的5个JDK工具