Unity计时器(二)
来源:互联网 发布:淘宝网官方下载 编辑:程序博客网 时间:2024/06/06 03:46
这个计时器为了实现状态的切换写的,类似我们斗地主的时候出现很多种状态,每个状态都需要一个计时器,例如:准备,抢地主,翻倍等,话也不多说,直接上代码,这里因为代码简单,所以写个实例加深印象:
public enum DoudizhuGameStage
{
Start,
Qiangzhuang,
Beishu,
Result,
Over
}
/// <summary>
/// 时间倒计时数值到0后的执行的事件
/// </summary>
public delegate void ResultRedution();
public class Timers : MonoSingleton<Timers>
{
/// <summary>
/// 是否开始
/// </summary>
public bool Isstar;
/// <summary>
/// 记录计时器的文本
/// </summary>
Text StarTimer_text;
/// <summary>
/// 准备按钮
/// </summary>
Button Star_btn;
/// <summary>
/// 是否结束
/// </summary>
bool isover;
/// <summary>
/// 开始时间
/// </summary>
float m_Times;
/// <summary>
/// 结束时间
/// </summary>
float TimeCD;
/// <summary>
/// 无参无返回委托
/// </summary>
public event ResultRedution m_Redution;
protected override void Awake()
{
base.Awake();
}
private void Update()
{
if (Isstar)
{
m_Times += Time.deltaTime;
ReshTimer();
if (m_Times > TimeCD)
{
isover = true;
}
}
if (isover)
{
isover = false;
Isstar = false;
m_Times = 0;
if (m_Redution != null)
{
m_Redution();
}
}
}
/// <summary>
/// 获取显示时间的具体数值的Text
/// </summary>
/// <param name="m_trans"></param>
public void GetText(Transform m_trans)
{
StarTimer_text = m_trans.GetComponent<Text>();
}
/// <summary>
/// 显示倒计时的数值
/// </summary>
void ReshTimer()
{
StarTimer_text.text = (-(int)(m_Times - TimeCD)).ToString();
}
/// <summary>
/// 开启各个状态的计时器并设置时间
/// </summary>
/// <param name="_stage"></param>
/// <param name="_result"></param>
public void StarTimers(DoudizhuGameStage _stage, ResultRedution _result)
{
Isstar = true;
m_Times = 0;
isover = false;
m_Redution = _result;
switch (_stage)
{
case DoudizhuGameStage.Start:
TimeCD = 6f;
break;
case DoudizhuGameStage.Qiangzhuang:
TimeCD = 8f;
break;
case DoudizhuGameStage.Beishu:
TimeCD = 3f;
break;
case DoudizhuGameStage.Result:
TimeCD = 8f;
break;
case DoudizhuGameStage.Over:
isover = true;
break;
default:
isover = true;
break;
}
}
- Unity计时器(二)
- Unity计时器(一)
- Unity 计时器
- 【Unity】计时器
- unity 计时器
- unity 计时器
- Unity计时器设计 - 基础计时器
- MC新手入门(二十)------ 计时器
- Windows程序设计之计时器(二)
- 我的Unity(8)一点一滴 小小倒计时器
- unity计时器功能的实现
- Unity长按屏幕计时器
- Unity的几中计时器
- 漫话Unity(二)
- Unity (二)
- Unity - 优化(二)
- unity学习(二)
- Unity日常(二)
- iPhone SE2再爆黑科技,高配置组合!搭配双卡双待?
- 关于.NET编译的目标平台(AnyCPU,x86,x64)
- Unity中Debug的用法
- Unicode转成中文
- 机器学习实战之一---简单讲解决策树
- Unity计时器(二)
- java8中Collectors的学习
- Python海量数据处理之_单机优化
- mysql存储过程的简单使用
- 博客怎么才能在百度页面搜索到?
- 2017.12.20
- 如何做好移动端网站的优化
- PHP 数组
- zookeeper或者zookeeper集群部署solr创建Core索引库报错