代码:

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按钮长按状态的判断的更多相关文章

  1. Unity UGUI之Button

    创建Button后,会出现一个Image组件和一个Button组件,以及Button子节点Text(可以删除不影响功能) 其中Image的Image Type中有四个选项--Simple.Sliced ...

  2. Android Button 按钮 设置 各种状态 图片 颜色

    有2个方法可以实现,一种是用 选择器 定义每种状态的图片 selec.xml <?xml version="1.0" encoding="utf-8"?& ...

  3. Unity UGUI基础之Button

    UGUI Button,可以说是真正的使用最广泛.功能最全面.几乎涵盖任何模块无所不用无所不能的组件,掌握了它的灵巧使用,你就几乎掌握了大半个UGUI! 一.Button组件: Interactabl ...

  4. Unity UGUI按钮添加点击事件

    1. 可视化创建及事件绑定 # 1 : 通过 Hierarchy 面板创建 UI > Button. 2 : 创建一个脚本 TestClick.cs, 定义了一个 Click 的 public ...

  5. Bootstrap 按钮(Button)插件加载状态

    通过按钮(Button)插件,您可以添加进一些交互.比如控制按钮的状态.或者为其它组件(工具栏)创建按钮组. 加载状态 如需向按钮添加加载状态,只需要简单地向 button 元素添加 data-loa ...

  6. Unity中Button按钮的触发监听事件

    第一种方式:需要把自己添加的Button按钮属性(Inspector)中的(Button)onclick添加方法. public void BtnCreteClick() { Debug.Log(&q ...

  7. Unity UGUI

    超详细的基础教程传送门:(持续更新中) Unity UGUI之Canvas&EventSystem:http://blog.csdn.net/qq992817263/article/detai ...

  8. Android 按钮长按下去重复执行某个动作,放开后停止执行动作

    Android开发中,常遇到一种需求,即按钮长按下去重复执行某个动作,放开后停止执行动作.网上找了许多代码,都没有适合的,于是自己动手写了一个. 基本思路是:首先设置一个标识变量,用于标识是否处于按下 ...

  9. QT经验(一)——按钮长按事件分析

    引言 最近在做qt项目,需要对button按钮添加一个长按事件(比如点击按钮,开始运动.松开按钮,运动停止).查了些许资料,(差点误把QPushButton的press信号和长按事件混淆)在此记录一下 ...

随机推荐

  1. 利用JqGrid结合ashx及EF分页显示列表之二

    上一篇文章简单利用JqGrid及ashx进行一个数据列表的显示,要文的重点是利用EF的分页与JqGrid进行结合,EF本文只是简单运用所以没有很规范,重点还是JqGrid分页的实现;本实例把JqGri ...

  2. Autofac3 在MVC4中的运用原理

    这是一种新的开发模式,注入开发模式,或者叫它IOC模式,说起IOC你可以这样去理解它,它为你的某个实现流出一个注入点,你生产的对象,可以根据你之前的配置进行组合.  IOC全称是Inversion o ...

  3. Mybatis 通过扫描 自动生成别名

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" ...

  4. STS(Spring Tool Suite)设置支持maven

  5. jasmine-行为驱动测试

    http://jasmine.github.io/1.3/introduction.html,先保留着,好好研究.

  6. VC++编写ActiveX控件

    ActiveX这门技术是通过生成“*.ocx”文件来实现的.先来了解下OCX文件,在百度百科上面对OCX是这样解释的:“.ocx是ocx控件的扩展名,OCX 是对象类别扩充组件.如果你用过Visual ...

  7. C#删除xml指定节点

  8. Spring Cloud(五):熔断监控Hystrix Dashboard和Turbine

    Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数 ...

  9. 给ECharts添加右键点击事件,实现右键功能菜单

    由于项目的需要,使用ECharts 的力导向图来实现 整个EDW数据架构的血缘分析,由于ECharts并没有给组件定义有右键的事件,同时ECharts是开源的项目,所以研究了下源码,将ECharts2 ...

  10. Qt 检验器 三种典型类的用法

    Qt提供了三个内置验证器类: QDoubleValidator, QIntValidator, QRegExpValidator. QDoubleValidator类: 提供了对浮点数的范围检查. Q ...