Unity-UGUI之Event System

##Event System
新建Canvas話不是,系統自動生成的Event System裏面主要有兩個Components,分別是Event System和Standalone Input Module。
*EventSystem負責管理,BaseInputModule負責輸入,BaseRaycaster負責確定目標對象。

###1. EventSystem
負責處理輸入、射線投射以及發送事件
一個場景中只能有一個EventSystem,否則EventSystem會失效

###2. BaseInputModule
負責處理輸入(點擊、拖拽等),把輸入事件發送到具體的對象。
*可以自己繼承BaseInputModule來實現自己的交互方式。

  • Standalone Input Module:基本的鍵盤和鼠標輸入系統,並跟蹤鼠標的位置,以及鼠標/鍵盤所按下的按鍵。
  • Touch Input Module:基本的觸摸輸入系統,用於處理觸摸、拖拽以及位置數據,並可在其實現中模擬鼠標行爲。
  • Pointer Input Module:提供上面兩者的基本功能,同時還可以通過代碼進行訪問。

###BaseRaycaster
Unity中射線檢測的基類,負責確定目標對象,此類系統均依賴於Event Camera,並用作全部光線投射的源。
*可以自己繼承BaseRaycaster來創建自己的光線投射系統。

  • 在UI中:GraphicRaycaster
  • 非UI中:Physics Raycaster 和 Physics 2D Raycaster

###UI事件工作流
BaseInputModule接收用戶的輸入
BaseRaycaster根據用戶的輸入,找到目標物體
根據用戶的輸入事件,調用目標物體上的對應接口實現。
內部工作機制
EventSystem把其GameObject上的所有BaseInputModule放到一個內部

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章