【UGUI】Unity的UGUI实现Button按钮长按状态的判断

来源:互联网 发布:windows窗口api 编辑:程序博客网 时间:2024/05/19 12:27
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;}}

1 0
原创粉丝点击