[Unity UGUI]点击和长按组件
来源:互联网 发布:淘宝微淘广播怎么发布 编辑:程序博客网 时间:2024/05/22 03:30
需求
游戏项目中卡片经常需要按钮/卡片的点击或者长按事件,这里提供一个好用的组件。
组件
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(); } } }}
用法
var pressSrc = Obj_ClickButton.gameObject.AddComponent<LongPressOrClickEventTrigger>();pressSrc.onLongPress.AddListener(delegate (){ //长按方法});pressSrc.onClick.AddListener(delegate (){ //点击方法});
阅读全文
0 0
- [Unity UGUI]点击和长按组件
- Unity uGUI 长按事件
- Unity UGUI--Text组件
- React Native Text组件之点击和长按事件
- Unity教程之-对UGUI长按事件的实现
- Unity事件系统实现uGUI Button长按
- Unity UGUI:Button点击响应
- Unity-UGUI的点击接口
- Unity如何修改UGUI下组件的长度和宽度
- 【UGUI】Unity的UGUI实现Button按钮长按状态的判断
- 【UGUI】Unity的UGUI实现Button按钮长按状态的判断
- 【UGUI】Unity的UGUI实现Button按钮长按状态的判断
- unity开发之八:如何在UGUI其他的组件上添加点击事件(解答)
- Unity 4.6 uGUI的点击事件
- Unity UGUI 是否点击在UI上
- Unity UGUI不规则图片点击事件处理
- Unity 点击屏幕与UGUI的区分
- Unity UGUI按钮动态添加点击事件
- java虚拟机概览
- vue-devtools chrome 开发工具
- 事件与动画
- Dubbo框架搭建通用接口
- vim插入命令
- [Unity UGUI]点击和长按组件
- TaskStackBuilder
- 英特尔Skylake处理器全面入驻Google Compute Engine
- 实习随手记-文件系列操作
- JAVA字符串格式化-String.format()的使用
- mysql读写分离-mysql proxy实现
- 欢迎使用CSDN-markdown编辑器
- HDFS下断点续传的实现——下载
- js实现pc浏览器复制粘贴功能