Unity UGUI实现Button按钮长按状态的判断
代码:
using UnityEngine.EventSystems;
using System.Collections;
/// <summary>
/// 脚本位置:UGUI按钮组件身上
/// 脚本功能:实现按钮长按状态的判断
/// </summary> // 继承:按下,抬起和离开的三个接口
public class OnButtonPressed :MonoBehaviour,IPointerDownHandler,IPointerUpHandler,IPointerExitHandler
{
// 延迟时间
private float delay = 0.2f; // 按钮是否是按下状态
private bool isDown = false; // 按钮最后一次是被按住状态时候的时间
private float lastIsDownTime; void Update ()
{
// 如果按钮是被按下状态
if (isDown) {
// 当前时间 - 按钮最后一次被按下的时间 > 延迟时间0.2秒
if (Time.time - lastIsDownTime > delay) {
// 触发长按方法
Debug.Log("长按");
// 记录按钮最后一次被按下的时间
lastIsDownTime = Time.time;
}
}
} // 当按钮被按下后系统自动调用此方法
public void OnPointerDown (PointerEventData eventData)
{
isDown = true;
lastIsDownTime = Time.time;
} // 当按钮抬起的时候自动调用此方法
public void OnPointerUp (PointerEventData eventData)
{
isDown = false;
} // 当鼠标从按钮上离开的时候自动调用此方法
public void OnPointerExit (PointerEventData eventData)
{
isDown = false;
}
}
Unity UGUI实现Button按钮长按状态的判断的更多相关文章
- Unity UGUI之Button
创建Button后,会出现一个Image组件和一个Button组件,以及Button子节点Text(可以删除不影响功能) 其中Image的Image Type中有四个选项--Simple.Sliced ...
- Android Button 按钮 设置 各种状态 图片 颜色
有2个方法可以实现,一种是用 选择器 定义每种状态的图片 selec.xml <?xml version="1.0" encoding="utf-8"?& ...
- Unity UGUI基础之Button
UGUI Button,可以说是真正的使用最广泛.功能最全面.几乎涵盖任何模块无所不用无所不能的组件,掌握了它的灵巧使用,你就几乎掌握了大半个UGUI! 一.Button组件: Interactabl ...
- Unity UGUI按钮添加点击事件
1. 可视化创建及事件绑定 # 1 : 通过 Hierarchy 面板创建 UI > Button. 2 : 创建一个脚本 TestClick.cs, 定义了一个 Click 的 public ...
- Bootstrap 按钮(Button)插件加载状态
通过按钮(Button)插件,您可以添加进一些交互.比如控制按钮的状态.或者为其它组件(工具栏)创建按钮组. 加载状态 如需向按钮添加加载状态,只需要简单地向 button 元素添加 data-loa ...
- Unity中Button按钮的触发监听事件
第一种方式:需要把自己添加的Button按钮属性(Inspector)中的(Button)onclick添加方法. public void BtnCreteClick() { Debug.Log(&q ...
- Unity UGUI
超详细的基础教程传送门:(持续更新中) Unity UGUI之Canvas&EventSystem:http://blog.csdn.net/qq992817263/article/detai ...
- Android 按钮长按下去重复执行某个动作,放开后停止执行动作
Android开发中,常遇到一种需求,即按钮长按下去重复执行某个动作,放开后停止执行动作.网上找了许多代码,都没有适合的,于是自己动手写了一个. 基本思路是:首先设置一个标识变量,用于标识是否处于按下 ...
- QT经验(一)——按钮长按事件分析
引言 最近在做qt项目,需要对button按钮添加一个长按事件(比如点击按钮,开始运动.松开按钮,运动停止).查了些许资料,(差点误把QPushButton的press信号和长按事件混淆)在此记录一下 ...
随机推荐
- Java多线程具体解释
Java多线程具体解释 多线程简单介绍 概述 多线程(multithreading).是指从软件或者硬件上实现多个线程并发运行的技术.具有多线程能力的计算机因有硬件支持而可以在同一时间运行多于一个线程 ...
- 基于Ant Design UI框架的React项目
概述 这款基于React开发的UI框架,界面非常简洁美观,在这篇文章中我主要为大家介绍一下如何用Ant开始搭建React项目 详细 代码下载:http://www.demodashi.com/demo ...
- java 判断日期是否是节假日
1.新建一个excel命名为“节假日.xls”存放节假日,模板格式如下 2.判断是否是节假日的类 工作日返回true ,休息日返回false. 需要引用poi-bin-3.9包,包放在博客文件中 im ...
- ajax表单提交较慢原因的解决办法
ajax提交表单时,发现过了好长时间才有反应.使用F12打开开发人员工具一看,发现提示“provisional headers are shown”. 百度了一下,才知道可能是ajax异步提交和for ...
- Android 中 字符串比较
EditText中getText().toString() 得到的字符串 写法如下if(m_txtAddress.getText().toString()=="") 这样写 是不会 ...
- Windows快捷键命令
1. 新建一个文件夹: Ctrl + shift + N; 2. Windows 查看端口信息: 1.进入cmd窗口; 2.netstat -ano : 列出所有端口的情况.在列表中我们观察被占用的端 ...
- [显示属性]-自定义桌面里没有IE选项
1楼 哈哈,我来告诉你原因,微软为了应对欧盟的反垄断调查,在 SP3 的“自定义桌面”里去掉了 Internet Explorer 选项. 如果桌面 IE 图标被误删除,但是又想恢复,而不是建立快捷方 ...
- web.xml文件书写规则
在为class文件写xml配置文件的书写规则,需要书写的东西如下 <servlet> <servlet-name></servlet-name> <servl ...
- Spring Cloud概述
Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁 ...
- 自己是个菜鸟 自己查找的简单的适合初学的Makefile
工程中的代码分别存放在add/add_int.c.add/add_float.c.add/add.h.sub/sub_int.c.sub/sub_float.c.sub/sub.h.main.c中. ...