关于源码
关于源码可以参考这篇博客下载或调试。
种类
BaseInputModule – 抽象类,是所有输入模块类的基类。
PointerInputModule – 抽象类,继承自 BaseInputModule,是 StandaloneInputModule 和TouchInputModule 的基类。
StandaloneInputModule – 在 PC、Mac&Linux 上的具体实现。
TouchInputModule – 在 IOS、Android等移动平台 上的具体实现。
如何调用
调用实现
EventInterface 声明了很多接口,每个接口都对应着一个事件。这些事件是由输入模块产生的,而归根结底大部分是通过 Input 这个类的各种属性和静态方法获取了数据才生成了事件。
调用时机
当鼠标或触摸 进入、退出当前对象时 执行PointerEnterHandler、PointerExitHandler。
在鼠标或者触摸 按下、松开时 执行PointerDownHandler、PointerUpHandler。
在鼠标或触摸 松开并且与按下时是同一个响应物体时 执行PointerClickHandler。
在鼠标或者触摸 按下且当前对象可以响应拖拽事件时 执行InitializePotentialDrag。
在鼠标或触摸 位置发生偏移(偏移值大于一个很小的常量)时 执行BeginDragHandler。
对象 正在被拖拽且鼠标或触摸移动时 执行DragHandler。
对象 正在被拖拽且鼠标或触摸松开时 执行EndDragHandler。
鼠标或触摸 松开且对象未响应PointerClickHandler情况下,如果对象正在被拖拽,执行DropHandler。
当鼠标 滚动差值大于零 执行ScrollHandler。
当输入 模块切换到StandaloneInputModule时 执行UpdateSelectedHandler。(不需要Input类)
当鼠标 移动导致被选中的对象改变时,执行SelectHandler和DeselectHandler。
导航事件可用情况下,按下上下左右键,执行MoveHandler,按下确认键 执行SubmitHandler, 按取消键 执行CancelHandler。