添加双击响应【2018/12/13】
unity中实现按钮的长按功能,长按刷新和长按执行一次,同时可存在点击事件,
先编写如下脚本:
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class ButtonExtension : MonoBehaviour, IPointerClickHandler, IPointerDownHandler, IPointerUpHandler, IPointerExitHandler {
public float pressDurationTime = 1;
public bool responseOnceByPress = false;
public float doubleClickIntervalTime = 0.5f;
public UnityEvent onDoubleClick;
public UnityEvent onPress;
public UnityEvent onClick;
private bool isDown = false;
private bool isPress = false;
private float downTime = 0;
private float clickIntervalTime = 0;
private int clickTimes = 0;
void Update() {
if (isDown) {
if (responseOnceByPress && isPress) {
return;
}
downTime += Time.deltaTime;