UNITY_UGUI

Posted fudgebear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UNITY_UGUI相关的知识,希望对你有一定的参考价值。

UGUI

1. 事件系统-EventSystem

处理与管理点击、键盘输入、触摸等事件

EventSystem源码声明了

private List<BaseInputModule> m_SystemInputModules = new List<BaseInputModule>();
private BaseInputModule m_CurrentInputModule;

BaseInputModule是抽象类
  PointerInputModule继承自BaseInputModule,也是抽象类
    StandaloneInputModule继承自PointerInputModule,面向PC/Mac/Linux standalone平台的输入模块
    TouchInputModule继承自PointerInputModule,面向android/ios等移动平台的输入模块

EventSystem在每一帧都会处理这些输入模块 -- 调用TickModules(),更新每一个InputModule
  遍历m_SystemInputModules,判断这些module是否支持当前平台且可用
  1. 若有符合条件的module,便赋值给m_CurrentInputModule并break;
  2. 若没有符合条件的module,便选取第一个支持当前平台的module作为m_CurrentInputModule
    若m_CurrentInputModule的值发生变化,且m_CurrentInputModule!=null,便调用m_CurrentInputModule.Process()
    该方法会将各种输入事件传递给EventSystem当前选中的GameObject(m_CurrentSelected)
    m_CurrentSelected大部分情况是Selectable组件
      (在设置m_CurrentSelected时,会通过ExecuteEvents对之前选中的对象执行一个被取消事件,
      对新选中的对象执行一个被选中事件(OnSelect()/ OnDeselect()))

 

以上是关于UNITY_UGUI的主要内容,如果未能解决你的问题,请参考以下文章

Unity_UGUI_动画系统

UNITY_UGUI

Unity_UGUI知识点思维导图

unity_UGUI养成之路02

Unity_UGUI学习图集与使用

微信小程序代码片段