美文网首页
[Unity UGUI]点击和长按

[Unity UGUI]点击和长按

作者: 萧非子 | 来源:发表于2017-08-13 01:11 被阅读17次

using UnityEngine;using UnityEngine.Events;using UnityEngine.EventSystems;namespace Mga{ public class LongPressOrClickEventTrigger : UIBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerExitHandler, IPointerClickHandler { public float durationThreshold = 1.0f; public UnityEvent onLongPress = new UnityEvent(); public UnityEvent onClick = new UnityEvent(); private bool isPointerDown = false; private bool longPressTriggered = false; private float timePressStarted; private void Update() { if (isPointerDown && !longPressTriggered) { if (Time.time - timePressStarted > durationThreshold) { longPressTriggered = true; onLongPress.Invoke(); } } } public void OnPointerDown(PointerEventData eventData) { timePressStarted = Time.time; isPointerDown = true; longPressTriggered = false; } public void OnPointerUp(PointerEventData eventData) { isPointerDown = false; } public void OnPointerExit(PointerEventData eventData) { isPointerDown = false; } public void OnPointerClick(PointerEventData eventData) { if (!longPressTriggered) { onClick.Invoke(); } } }}

相关文章

网友评论

      本文标题:[Unity UGUI]点击和长按

      本文链接:https://www.haomeiwen.com/subject/fcjsrxtx.html