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

xiaoxiao2021-02-28  100

原文:http://blog.csdn.net/sinat_20559947/article/details/49886557 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;       }   }  
转载请注明原文地址: https://www.6miu.com/read-29845.html

最新回复(0)