所有的事件接口均继承自 IEventSystemHandler

IPointerEnterHandler  指针进入事件

IPointerExitHandler    指针退出事件

——利用指针进入、退出事件,可以完成ToolTip功能

IPointerDownHandler  指针按下事件:在可视元素矩形区域内按下时响应

IPointerUpHandler      指针抬起事件:在可视元素矩形区域内按下后,在任意地方抬起时响应

IPointerClickHandler   指针点击事件:在可视元素矩形区域内按下后,且在同一可视元素矩形区域内抬起时响应

——有按下,必定有抬起;有按下,未必有点击

IInitializePotentialDragHandler  初始化潜在的拖动事件:与IPointerDownHandler触发条件基本相同

IBeginDragHandler  拖动开始事件

IDragHandler       拖动中事件

IEndDragHandler     拖动结束事件

IDropHandler       接收拖动事件

IScrollHandler      滚动事件

ISelectHandler    选择事件:选择(点击)时调用EventSystem.current.SetSelectedGameObject(gameObject)选中,随后触发OnSelect(...)方法

IDeselectHandler     取消选择事件:选中另一gameObject后,原来选中的自动取消

IUpdateSelectedHandler  选中物体每帧触发事件

IMoveHandler      移动事件(上下左右):与InputManager里的Horizontal和Vertical按键相对应。=> Input.GetAxisRaw()

ISubmitHandler      提交事件:按下InputManager里的submit对应的按键(一般是Enter)。=> Input.GetButtonDown()

ICancelHandler     取消事件:按下InputManager里的cancel对应的按键(Esc)。=> Input.GetButtonDown()

——移动、提交、取消操作,必须先选中(OnSelect)才能触发

所有被继承的事件接口,需要实现其方法,参数一般是EventData(BaseEventData/PointerEventData),利用这些参数可以完成相应操作。

  1. using UnityEngine;
  2. using UnityEngine.EventSystems;
  3. public class EventTest : MonoBehaviour,
  4. IPointerClickHandler,
  5. IPointerEnterHandler,
  6. IPointerExitHandler,
  7. IPointerDownHandler,
  8. IPointerUpHandler,
  9. IBeginDragHandler,
  10. IDragHandler,
  11. IInitializePotentialDragHandler,
  12. IEndDragHandler,
  13. IDropHandler,
  14. IUpdateSelectedHandler,
  15. ISelectHandler,
  16. IDeselectHandler,
  17. IScrollHandler,
  18. IMoveHandler,
  19. ISubmitHandler,
  20. ICancelHandler
  21. {
  22. #region 鼠标指针类
  23. //鼠标进入时响应
  24. public void OnPointerEnter(PointerEventData eventData)
  25. {
  26. Debug.Log("OnPointerEnter");
  27. }
  28. //鼠标离开时响应
  29. public void OnPointerExit(PointerEventData eventData)
  30. {
  31. Debug.Log("OnPointerExit");
  32. }
  33. //鼠标按下时响应
  34. public void OnPointerDown(PointerEventData eventData)
  35. {
  36. Debug.Log("OnPointerDown");
  37. }
  38. //鼠标释放时响应
  39. public void OnPointerUp(PointerEventData eventData)
  40. {
  41. Debug.Log("OnPointerUp");
  42. }
  43. //鼠标点击时响应
  44. public void OnPointerClick(PointerEventData eventData)
  45. {
  46. Debug.Log("OnPointerClick");
  47. }
  48. #endregion
  49. #region 拖拽类
  50. //初始化拖拽
  51. public void OnInitializePotentialDrag(PointerEventData eventData)
  52. {
  53. Debug.Log("OnInitializePotentialDrag");
  54. }
  55. //开始拖拽
  56. public void OnBeginDrag(PointerEventData eventData)
  57. {
  58. Debug.Log("OnBeginDrag");
  59. }
  60. //拖拽中
  61. public void OnDrag(PointerEventData eventData)
  62. {
  63. Debug.Log("OnDrag");
  64. }
  65. //拖拽结束
  66. public void OnEndDrag(PointerEventData eventData)
  67. {
  68. Debug.Log("OnEndDrag");
  69. }
  70. //拖拽释放
  71. public void OnDrop(PointerEventData eventData)
  72. {
  73. Debug.Log("OnDrop");
  74. }
  75. #endregion
  76. #region 点选类
  77. //当物体被选中时每帧触发
  78. public void OnUpdateSelected(BaseEventData eventData)
  79. {
  80. Debug.Log("OnUpdateSelected");
  81. }
  82. //选中物体
  83. public void OnSelect(BaseEventData eventData)
  84. {
  85. Debug.Log("OnSelect");
  86. }
  87. //未选中物体
  88. public void OnDeselect(BaseEventData eventData)
  89. {
  90. Debug.Log("OnDeselect");
  91. }
  92. #endregion
  93. #region 输入类
  94. //鼠标中轮滚动
  95. public void OnScroll(PointerEventData eventData)
  96. {
  97. Debug.Log("OnScroll");
  98. }
  99. //移动物体
  100. public void OnMove(AxisEventData eventData)
  101. {
  102. Debug.Log("OnMove");
  103. }
  104. //提交
  105. public void OnSubmit(BaseEventData eventData)
  106. {
  107. Debug.Log("OnSubmit");
  108. }
  109. //取消
  110. public void OnCancel(BaseEventData eventData)
  111. {
  112. Debug.Log("OnCancel");
  113. }
  114. #endregion
  115. }

UGUI事件系统——事件接口相关推荐

  1. c调用按钮点击事件_Unity3d---对UI事件接口的一些测试和机制(坑)的总结

    开文来记录一下自己摸索到的UI事件接口的一些运作机制(坑),就不赘述具体怎么使用这些事件接口了(不做教学...),本文主要是记自己发现的一些坑点 主要针对于在复杂的UI嵌套关系下,鼠标指针和拖拽操作的 ...

  2. 客户端回传事件接口IPostBackEventHandler

    客户端回传事件接口IPostBackEventHandler 要使控件捕获回发事件,控件必须实现System.Web.UI.IPostBackEventHandler 接口.此接口约定允许控件在服务器 ...

  3. COMSOL中事件接口介绍二,隐式事件

    文章目录 前言 一.模型介绍 二.建模流程 1.温度监测参数定义 1.1 平均值设置 1.2 变量设置 2.事件接口设置 2.1 设置离散状态 2.2 设置指示器状态 2.3 设置隐式事件 3.传热模 ...

  4. 简述事件接口与事件适配器的联系与区别_通过Redis学习事件驱动设计

    01 为什么我说C程序员都要阅读Redis源码 主要原因就是『简洁』.如果你用源码编译过Redis,你会发现十分轻快,一步到位.其他语言的开发者可能不会了解这种痛,作为C/C++程序员,如果你源码编译 ...

  5. jQuery-1.9.1源码分析系列(十) 事件系统——事件体系结构

    又是一个重磅功能点. 在分析源码之前分析一下体系结构,有助于源码理解.实际上在jQuery出现之前,Dean Edwards的跨浏览器AddEvent()设计做的已经比较优秀了:而且jQuery事件系 ...

  6. 微信小程序监听实时地理位置变化事件接口申请

    监听实时地理位置变化事件,需结合 wx.startLocationUpdateBackground.wx.startLocationUpdate使用. 申请开通 暂只针对国内主体如下类目的小程序开放, ...

  7. 简述事件接口与事件适配器的联系与区别_设计模式——适配器模式

    适配器模式 适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper).适配器模式既可以作为类结构型模式,也 ...

  8. jQuery-1.9.1源码分析系列(十) 事件系统——事件绑定

    事件绑定的方式有很多种.使用了jQuery那么原来那种绑定方式(elem.click = function(){...})就不推荐了,原因? 最主要的一个原因是elem.click = fn这种方式只 ...

  9. jQuery-1.9.1源码分析系列(十) 事件系统——事件包装

    首先需要明白,浏览器的原生事件是只读的,限制了jQuery对他的操作.举个简单的例子就能明白为什么jQuery非要构造一个新的事件对象. 在委托处理中,a节点委托b节点在a被click的时候执行fn函 ...

  10. UGUI IPointerUpHandler事件失灵

    在仿做一个杀戮尖塔的战斗卡牌界面,做卡牌的时候发现IPointerUpHandler事件失灵,无法检测到鼠标抬起.. 后面加入IPointerDownHandler事件后,就能正常使用了..

最新文章

  1. 样式集(六)仿微信通讯录样式
  2. 7小时44分最佳,睡多睡少都不好,养成习惯也没用
  3. 在ubuntu下安显卡驱动
  4. 关于互斥锁,条件变量的内核源码解析
  5. real time linux pdf,【整理】ubuntu real time Linux
  6. C++设计模式-面向对象程序设计要点以及封装性特点
  7. JavaEE各种Javadoc的下载
  8. 关于地理国情监测(国家测绘局、地理信息系统协会改名及国家级地理信息产业园奠基的风生水起)...
  9. SQLServerAgent 当前未运行,因此无法将此操作通知它。
  10. 关于JavaScript的词法作用域及变量提升的个人理解
  11. SoapUI安装教程,亲测可用
  12. 结晶器或者连铸--流场-温度场-凝固--夹杂物计算说明
  13. 吃鸡服务器维护公告10月19日,绝地求生10月30日维护公告更新内容 今天吃鸡几点开服时间...
  14. 中国医科大学网络教育学院试卷计算机,中国医科大学网络教育学院补考试卷
  15. 达观数据智能财务审核机器人,助力央企财务共享中心智能转型
  16. Excel整行数据自动标颜色
  17. 小米air2se耳机只有一边有声音怎么办_小米推出与Air2系列的第三款Air2 SE拼性价比意义何在?...
  18. MOS驱动自举电容和限流电阻的选取
  19. 函数打桩原理_难重现问题定位“函数打桩”
  20. 学习数据分析、数据挖掘、大数据ETL工程师到什么程度可以找工作?

热门文章

  1. win10怎么删除hiberfil.sys文件教程
  2. 多媒体开发之视频格式---1080p逐行和1080i隔行
  3. 终面(hr)可能的问题及回答(Java岗--自用)
  4. 普陀寺里的穿白T恤的奥特曼 2012年9月8日
  5. 论文阅读:Region Proposal by Guided Anchoring
  6. 原神3.0上半角色活动祈愿-2源码
  7. 【第一组】第二次例会会议记录
  8. 超高分辨率大屏拼接工作站硬件选型
  9. Unity3D+moba+技能指示器(二)
  10. StarUML使用心得