UNITY EventSystem(二){事件行為EventTrigger}

UNITY事件系統支援許多事件,並且有內建的Component可以執行對應的操作,當然也可以透過繼承 interface的方式自定義編寫Script,本篇會介紹這兩種方式的用法。

event

Event Trigger

事件觸發器從事件系統接收事件並調用已添加的函數和對應的行為,一個事件可以對應多個行為函式,如前篇所說要能被射線啟動到,除了EventTrigger本身以外還要有能與射線產生反應的碰撞器材可以。

  • 首先,對要產生行為的物件添加EventTrigger。
    ev-20180418004
  • 如果以本身就帶有碰撞器的3D Object來說結構就像這樣。
    ev-20180418005
  • 按下Add New Event Type就可以添加事件的類型。
    ev-20180418006
  • 以添加PointerEnter為例,按下+號後將要操控的物件置入。
    ev-20180418007


    ev-20180418008

  • 方法清單內內建的功能就是物件上所有的Component帶有的公開變數、方法,我們可以用name更改物件的名子,因此當滑鼠指到這個方塊,它的名子就會變成我們打上去字串了。
    ev-20180418009


    ev-20180418010

Supported Events

支援的方法如果要用程式撰寫,要用繼承介面(紅字)然後實作的方式進行,不自行撰寫行為下表也可以作為參考。

  • IPointerEnterHandler
    OnPointerEnter – 當指標進入對象時調用
  • IPointerExitHandler
    OnPointerExit – 當指標退出對象時調用
  • IPointerDownHandler
    OnPointerDown – 在對像上按下指標時調用
  • IPointerUpHandler
    OnPointerUp – 當指標點下後被釋放時調用
  • IPointerClickHandler
    OnPointerClick – 當一個指標被按下並釋放在同一個對像上時調用
  • IInitializePotentialDragHandler
    OnInitializePotentialDrag – 拖動目標時調用
  • IBeginDragHandler
    OnBeginDrag – 開始拖動時調用
  • IDragHandler
    OnDrag – 拖動中調用
  • IEndDragHandler
    OnEndDrag – 拖動完成時調用
  • IDropHandler
    OnDrop – 拖動結束時調用
  • IScrollHandler
    OnScroll – 滑鼠滾輪滾動時調用
  • IUpdateSelectedHandler
    OnUpdateSelected – 當對像被選中持續觸發
  • ISelectHandler
    OnSelect – 成為選定對象時調用
  • IDeselectHandler
    OnDeselect – 所選對像變為取消選擇
  • IMoveHandler
    OnMove – 移動事件發生時調用
  • ISubmitHandler
    OnSubmit – 按下提交按鈕時調用
  • ICancelHandler
    OnCancel – 按下取消按鈕時調用

One thought on “UNITY EventSystem(二){事件行為EventTrigger}

  1. awfaf

    感激不盡!
    終於找到方法了
    不過中間遇到bug
    忘記在maincamera加上
    Raycasters
    提醒作者這邊可以特別註記

Leave a Reply