本文共 929 字,大约阅读时间需要 3 分钟。
using UnityEngine;using UnityEngine.EventSystems;using System.Collections;////// 脚本位置:UGUI按钮组件身上/// 脚本功能:实现按钮长按状态的判断/// 创建时间:2015年11月17日/// // 继承:按下,抬起和离开的三个接口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; }}
转载地址:http://uukii.baihongyu.com/