【UGUI】Unity的UGUI实现Button按钮长按状态的判断
2015-11-17 13:50
756 查看
using UnityEngine; using UnityEngine.EventSystems; using System.Collections; /// <summary> /// 脚本位置:UGUI按钮组件身上 /// 脚本功能:实现按钮长按状态的判断 /// 创建时间:2015年11月17日 /// </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; } }
相关文章推荐
- UnityEngine.UI.dll is in timestamps but is not known in assetdatabase
- unity 手游《天神传》服务端源码+客户端源码+文档
- Unity3d 开发之 ulua 坑的总结
- Unity 实现Log实时输出到屏幕或控制台上<二>
- Unity 实现Log实时输出到屏幕或控制台上<二>
- unity物体指示线
- Unity拖动摄像机加上惯性滑动的效果
- 【NGUI】Unity插件NGUI的Button按钮修改为Disabled状态
- unity导入的自定义3D模型从地板掉下去
- Unity 配置使 .prefab 可以文本化阅读修改
- 【笨木头Unity】入门之旅009:Demo之四处找死(四)_在代码里操作物体
- Unity不同平台读取本地文件地址
- KING_U3D学习之Unity Test Tools(二)_小实例实践
- KING_U3D学习之Unity Test Tools(一)_官方例子解析
- Unity中用到的C#补充(七)- 委托与事件
- Unity3D将来时:IL2CPP——C#的变迁
- UnityEditor 用Gizmos画出类似NGUI,UIPanel的矩形框
- Unity中用到的C#补充(六)- Delegate委托
- Unity中C# 文件本地读取,本地保存等实例
- Unity中的Time和Time.timeScale对协程的yield的影响