Unity 鼠标连续双击执行事件

以下代码为鼠标双击执行事件的方法。

using System;
using UnityEngine;

public class DoubleClickMouseButton : MonoBehaviour
{
     
    /// 
    /// 鼠标双击的间隔
    /// 
    private float doubleClickTime = 0.2f;

    /// 
    /// 上一次点击鼠标抬起的时间
    /// 
    private double lastClickTime;

    void Start()
    {
     
        lastClickTime = Time.realtimeSinceStartup;
    }

    private void Update()
    {
     
        DoubleClickMouseButtonEvent(0, () =>
        {
     
            //ToDo 双击所要执行的时间
        });
    }

    /// 
    /// 鼠标双击执行的事件
    /// 
    /// 鼠标按键
    /// 双击需要执行的事件
    private void DoubleClickMouseButtonEvent(int mouseBtnIndex, Action action)
    {
     
        if (Input.GetMouseButtonDown(mouseBtnIndex)) //双击鼠标右键聚焦
        {
     
            if (Time.realtimeSinceStartup - lastClickTime < doubleClickTime)
            {
     
                action();
            }

            lastClickTime = Time.realtimeSinceStartup;
        }
    }
}

你可能感兴趣的:(unity3d)