zoukankan      html  css  js  c++  java
  • Unity UGUI实现Button按钮长按状态的判断

    代码:

    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;
        }
    }
  • 相关阅读:
    python文件操作总结
    hidoCoder #1514 偶像的条件
    2017浙江省赛大学生程序设计竞赛 C题 What Kind of Friends Are You?
    51nod 1503 猪和回文串(动态规划)
    整数划分(若干不同),时间复杂度O(n*sqrt(n))
    Jiu Yuan Wants to Eat
    牛牛数括号
    P3254 圆桌问题
    方格取数(1)
    Taeyeon的困惑
  • 原文地址:https://www.cnblogs.com/jiangshuai52511/p/6646129.html
Copyright © 2011-2022 走看看