需求

游戏项目中卡片经常需要按钮/卡片的点击或者长按事件,这里提供一个好用的组件。

组件

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 ()
{//点击方法
});

[Unity UGUI]点击和长按组件相关推荐

  1. Unity UGUI 之 实现 Text 文本文字过长,省略号显示(TextMeshPro 和常规 Text 二种方法)

    Unity UGUI 之 实现 Text 文本文字过长,省略号显示(TextMeshPro 和常规 Text 二种方法) 目录 Unity UGUI 之 实现 Text 文本文字过长,省略号显示(Te ...

  2. Unity UGUI 之 实现按钮 Button 长按和双击的功能效果

    Unity UGUI 之 实现按钮 Button 长按和双击的功能效果 目录 Unity UGUI 之 实现按钮 Button 长按和双击的功能效果 一.简单介绍 二.实现原理 三.注意事项 四.效果 ...

  3. Unity UGUI Rect

    Unity UGUI Rect rect.x与rect.y rect.min和rect.max rect.center rect.x与rect.y x,y就是rect类的根坐标,有了它我们就能确定我们 ...

  4. Unity UGUI Button 中文详解-Chinar

    Chinar blog :www.chinar.xin Unity UGUI 完整系列教程 (Chinar中文图解) Unity UGUI Button 组件 本文提供全流程,中文翻译. Chinar ...

  5. Unity UGUI基础 之 Scroll View/Scroll Rect 的简单使用,并取消拖拽(滑动内容)效果,拖拽只在Scrollbar 上起作用

    Unity UGUI基础 之 Scroll View/Scroll Rect 的简单使用,并取消拖拽(滑动内容)效果,拖拽只在Scrollbar 上起作用 目录 Unity UGUI基础 之 Scro ...

  6. Unity UGUI优化与原理【unity官方】

    来源( 来源:unity官方 Optimizing Unity UI ) 官方链接: [1]  https://unity3d.com/cn/learn/tutorials/temas/best-pr ...

  7. Unity UGUI 数字使用图片显示-BMFont

    Unity UGUI 数字使用图片显示-BMFont BMFont 之前使用Cocos引擎的时候需要用到艺术字也就是将数字使用美术给的图片来代替显示,也就是要做一个新字体专门用来显示艺术字,当时用的是 ...

  8. Unity UGUI开发设计及案例讲解

    Unity--UGUI开发设计及案例讲解 1. Unity4.6跟以前的版本的最大区别首先在于在层级视图中点鼠标右键时出现的弹出菜单上,它把以前许多的菜单项进行了归类,比如cube sphere ca ...

  9. 【游戏开发实战】Unity UGUI制作雷达图/天赋图/属性图/能力图,因为太怕痛就全点了防御力

    文章目录 一.前言 二.最终效果 三.原理 四.具体实现 1.雷达图背景图 2.封装UIPolygon.cs 3.制作预设 4.测试脚本RadarTest.cs 五.运行测试 六.结束语 七.附录:U ...

最新文章

  1. R语言构建xgboost模型:xgb.cv函数交叉验证确定模型的最优子树个数(可视化交叉验证对数损失函数与xgboost模型子树个数的关系)、交叉验证获取最优子树之后构建最优xgboost模型
  2. Spark+hadoop+mllib及相关概念与操作笔记
  3. 软件工程师怎样减轻工作过程中遇到的压力
  4. 多选取值_R语言缺失值的处理——回归预测法
  5. 不区分大小写的内容比较
  6. XebiaLabs DevOps平台推出软件发布风险和合规性管理功能
  7. Python 三级菜单
  8. 结合源码讲解Tabost
  9. 【HDU1665】That Nice Euler Circuit(欧拉公式+点在线段上判断(不在端点)+线段规范相交)
  10. Pdproxy度盘下载器
  11. 概率dp(A - Scout YYF I POJ - 3744 )
  12. 大数据架构之-- Lambda架构
  13. 数据结构分类之什么是线性结构、非线性结构
  14. 04、Flutter FFI 字符串
  15. 读书笔记: 与爱因斯坦月球漫步-记忆术
  16. 从KMP到FSA有限状态自动机字符串匹配
  17. 迪士尼无限3.0连接服务器,迪士尼无限3period;0BUG问题解决 | 手游网游页游攻略大全...
  18. (一)移动端前端开发-移动端基础
  19. 关于mysql Error 1045(28000):Access denied for user ‘root‘@‘localhost‘(using password:YES)的处理方法
  20. boss直聘改回系统头像_Boss直聘VS猎聘,谁的营销广告更胜一筹

热门文章

  1. 基于SSH实现模特人才招聘网站
  2. kaggle训练模型
  3. Python自然语言处理工具
  4. performance metrics
  5. k-means优化 k-means距离的选择 k-medoids对比
  6. 直播APP开发注意事项汇总
  7. 如何消费WCF Data Services定义的服务操作
  8. Do a test write by windows live writer
  9. Linux入门第四集!Jar包的入门、使用、部署!怎么打Jar包?
  10. R—计算系统发育多样性PD (Calculate Faith’s Phylogenetic Diversity)