Unity3D Event System提供的事件詳解

在本文,你將全面的了解到Unity 事件系統(tǒng)提供的事件都有哪些,需要繼承什么樣的接口并實(shí)現(xiàn)什么樣的方法,完成哪樣的功能
同時(shí)也簡(jiǎn)單介紹了EventTrigger

編號(hào) - 接口 - 必須實(shí)現(xiàn)的方法 - 調(diào)用(應(yīng)用)時(shí)機(jī)


  1. IPointerEnterHandler - OnPointerEnter - 當(dāng)鼠標(biāo)移入一個(gè)物體時(shí)調(diào)用
  2. IPointerExitHandler - OnPointerExit - 當(dāng)鼠標(biāo)退出一個(gè)物體時(shí)調(diào)用
  3. IPointerDownHandler - OnPointerDown - 當(dāng)鼠標(biāo)在物體上并按下時(shí)調(diào)用
  4. IPointerUpHandler - OnPointerUp - 當(dāng)鼠標(biāo)按鍵釋放時(shí)調(diào)用(在原先按下時(shí)的物體上執(zhí)行)
  5. IPointerClickHandler - OnPointerClick - 當(dāng)鼠標(biāo)在同一個(gè)物體上點(diǎn)擊并釋放時(shí)調(diào)用
  6. IInitializePotentialDragHandler - OnInitializePotentialDrag - 當(dāng)發(fā)現(xiàn)拖動(dòng)目標(biāo)時(shí)調(diào)用,可以用來(lái)初始化值
  7. IBeginDragHandler - OnBeginDrag - 在拖動(dòng)即將開始時(shí)調(diào)用(代碼掛載在被拖動(dòng)物體上)
  8. IDragHandler - OnDrag -在拖動(dòng)進(jìn)行時(shí)調(diào)用(代碼掛載在被拖動(dòng)物體上)
  9. IEndDragHandler - OnEndDrag - 在拖動(dòng)完成時(shí)調(diào)用(代碼掛載在被拖動(dòng)物體上)
  10. IDropHandler - OnDrop - 在拖動(dòng)完成的對(duì)象上調(diào)用
  11. IScrollHandler - OnScroll -當(dāng)鼠標(biāo)的滾輪滾動(dòng)時(shí)調(diào)用
  12. IUpdateSelectedHandler - OnUpdateSelected -被選中物體每個(gè)刻度(tick)調(diào)用一次
  13. ISelectHandler - OnSelect - 當(dāng)對(duì)象成為所選對(duì)象時(shí)調(diào)用
  14. IDeselectHandler - OnDeselect - 當(dāng)選中對(duì)象選中狀態(tài)取消時(shí)調(diào)用
  15. IMoveHandler - OnMove - 當(dāng)一個(gè)移動(dòng)事件發(fā)生時(shí)調(diào)用 (形如:left, right, up, down)
  16. ISubmitHandler - OnSubmit - 當(dāng)提交按鈕(submit button)被按下時(shí)調(diào)用
  17. ICancelHandler - OnCancel - 當(dāng)取消按鈕(cancel button)被按下時(shí)調(diào)用

Tips:Using UnityEngine.EventSystem是必須的;

原文參考:Unity-Manual:Supported Event

可視化組件 Event Trigger

通過(guò)Event Trigger可以可視化添加事件,執(zhí)行自定義方法或預(yù)定義方法和屬性;

為游戲?qū)ο筇砑覧vent Trigger組件
為游戲?qū)ο筇砑泳唧w事件

Tips:接下來(lái)的步驟就是為事件添加方法(方法必須聲明Public),跟UGUI控件事件添加步驟一樣,所以筆者就不寫了哈

動(dòng)畫演示:

請(qǐng)參考筆者的文章:Unity3D 一句話代碼實(shí)現(xiàn)UGUI圖片的拖拽功能

標(biāo)簽:Unity3D、EventSystem、SupportedEvent、接口與實(shí)現(xiàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本節(jié)介紹各種常見(jiàn)的瀏覽器事件。 鼠標(biāo)事件 鼠標(biāo)事件指與鼠標(biāo)相關(guān)的事件,主要有以下一些。 click 事件,dblc...
    許先生__閱讀 2,829評(píng)論 0 4
  • Unity3D塔防開發(fā)流程 配置環(huán)境及場(chǎng)景搭建 編程語(yǔ)言:C#,略懂些許設(shè)計(jì)模式,如果不了解設(shè)計(jì)模式,BUG Mo...
    Grape_葡萄閱讀 3,105評(píng)論 1 3
  • 本篇博客源地址 總結(jié): 鼠標(biāo)事件 1.click與dbclick事件ele.click()ele.click(ha...
    ZombieBrandg閱讀 742評(píng)論 0 1
  • PlayMaker是什么? PlayMaker是Unity3D的一款 可視化 的 有限元狀態(tài)機(jī)(Finite-st...
    shimmery閱讀 40,846評(píng)論 5 68
  • 一:什么是協(xié)同程序? 在主線程運(yùn)行的同時(shí)開啟另一段邏輯處理,來(lái)協(xié)助當(dāng)前程序的執(zhí)行,協(xié)程很像多線程,但是不是多線程,...
    胤醚貔貅閱讀 2,215評(píng)論 0 13

友情鏈接更多精彩內(nèi)容