1.实现double trigger
2.long press长按

紫色的部分(IsExteding)是要侦测用户是否按下第二次

1.double trigger:
新建MyTimer时间类:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class MyTimer{/// <summary>/// 状态/// </summary>public enum STATE{IDLE,RUN,FINISHED}public STATE state;public float duration = 1.0f;           //要算多久 缺省1s后停止private float elapsedTime = 0;          //过去的时间 初始值是0public void Tick(){if(state == STATE.IDLE){}else if (state == STATE.RUN){elapsedTime += Time.deltaTime;if (elapsedTime >= duration){state = STATE.FINISHED;}}else if (state == STATE.FINISHED){}else{Debug.Log("Error");}}public void Go(){elapsedTime = 0;state = STATE.RUN;}
}

利用MyButton得到状态:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class MyButton {/// <summary>/// 三种状态(缺省为false)/// </summary>public bool IsPressing = false;public bool OnPressed = false;public bool OnReleased = false;public bool IsExtending = false;public float extendingDuration = 0.15f;private bool curState = false;      //目前的状态private bool lastState = false;     //前一次状态private MyTimer extTimer = new MyTimer();public void Tick(bool input){// StartTimer(extTimer, 1.0f);extTimer.Tick();curState = input;IsPressing = curState;OnPressed = false;OnReleased = false;if(curState != lastState){if(curState ==true ){OnPressed = true;}else{OnReleased = true;StartTimer(extTimer, extendingDuration);}}lastState = curState;if (extTimer.state == MyTimer.STATE.RUN){IsExtending = true;}else{IsExtending = false;}}private void  StartTimer(MyTimer timer,float duration){timer.duration = duration;timer.Go();}
}

最后在joystick里面显示出来:

//print(buttonA.IsExtending);//延长的时间//print(buttonA.IsExtending || buttonA.IsPressing);//按键的时间加延长的时间为trueprint(buttonA.IsExtending&&buttonA.OnPressed );

这样首先实现了double trigger判断。

Timer Class(计时器类别)相关推荐

  1. boost:timer,计时器

    C++一直缺乏对时间和日期的处理能力,而boost使用提供了三种解决方案: timer:和平台无关 date_time:和平台无关 chrono:和平台相关 这里我们来学习timer库 timer是一 ...

  2. 17、Java Swing Timer:计时器组件

    计时器(Timer)组件可以在指定时间间隔触发一个或多个 ActionEvent. 设置计时器的过程包括创建一个 Timer 对象,在该对象上注册一个或多个动作侦听器,以及使用 start() 方法启 ...

  3. Java之Timer类计时器提醒功能

    Timer类:依赖系统日期,提供计时器通知服务. schedule(TimerTask task,Date time):安排在指定的时间执行指定的任务. TimerTask:任务类,任务实现方法为抽象 ...

  4. Java计时器Timer和TimerTask用法总结(源码)

    在家学技术实在是不好坚持,心里老是想给自己放个假,但是现在俺又太菜,又想赶赶技术.前天做一个五子棋程序, 遇到了计时器功能的需求,但是这个我没用过,就总结一下吧,不过虽然是会用了,但是和swing的代 ...

  5. Windows Service下的Timer计时器的使用

    在C#中提供了三种类型的计时器: 1.基于 Windows 的标准计时器(System.Windows.Forms.Timer) 2.基于服务器的计时器(System.Timers.Timer) 3. ...

  6. Android简单计时器详解(Timer)

    Android计时器详解(Timer) 在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Tim ...

  7. android 计时器 三种,Android计时器的三种实现方式(Chronometer、Timer、handler)

    本文实例为大家分享了Android计时器的三种方法,具体内容如下 目录: 1.借助Timer实现 2.调用handler.sendMessagedely(Message msg, long delay ...

  8. Matlab——Timer对象(多线程编程)计时器

    Timer对象和 Dynamic关于Timer的教程. 相信大家对Timer对象的各个属性和其字段有一定了解,更多的信息可在帮助文件中获得. 这里再总结一下,仔细看Timer对象的句柄我们可以发现,T ...

  9. Boost之timer库

    摘要 :      Boost中使用timer和date_time库来完美地解决了C++无法高效地处理时间和日期的问题.在此文中,介绍timer库:而date_time库在后续博文中介绍.       ...

  10. python简易图形-python图形用户界面(四):教你实现一个简单实用的计时器

    前言 本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑.如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过. 今天 ...

最新文章

  1. 为什么使用LM386可以直接收听调频电台节目?
  2. 经验总结:按需加载JS和css
  3. open cv提取图片特征值_基于VGG16网络提取Flicker8K数据集图像特征
  4. Django框架(18.Django中的自定义错误500页面和不存在404页面)
  5. html中通过定位 实现下拉,JS+CSS相对定位实现的下拉菜单
  6. 使用jmap命令手动导出映像文件?
  7. ElasticSearch多shard场景相关度打分不准确问题
  8. JAVA设计模式之抽象工厂模式
  9. python axes函数_matplotlib中的axes.flat做什么?
  10. Linux常用命令——关机重启命令
  11. 【Python】python list 迭代删除
  12. SDRAM内存条时序特点
  13. CSS 3之网页背景颜色
  14. php使用halt中断输出
  15. 初中生学计算机编程的好处,为什么初中生更加适合学习计算机编程?
  16. docker镜像指定安装源_如何修改docker pull镜像源
  17. 纵观 Excel 演化史,开发者如何通过“表格技术”提升企业生产力
  18. 输入年份判断是不是闰年
  19. OpenCV 中cv2.threshold详解,(大白话版)
  20. 信息资源管理【四】之 信息资源内容管理

热门文章

  1. 滴滴出行场景中语音识别模型的自学习平台化实践
  2. 重言式判定------参考了别人的代码。。
  3. 序号47指标横向展示.xlsx_杭州增加2万个小客车指标!想拥有“浙A”车牌,这个APP一定要收好~...
  4. 离线底图瓦片,可用于Cesium加载使用【图说GIS】
  5. 有开始边DOTA边博客了
  6. 负载均衡(四层) LVS(看完就能去上班)
  7. seo入门,seo入门基础知识
  8. 结构性用工荒也是用工荒
  9. 硬盘三大种类( SSD ; HHD ; HDD )
  10. IP地址冲突问题的解决方法