包括,Collider,Trigger,EventSystem,EventTrigger,Input等
PS:1、3D物體上需要添加Collider才能觸發事件,
2、EventSystem,EventTrigger繼承自Events
1、Collider:
- MonoBehaviour.OnCollisionEnter(Collision collision) 當進入碰撞器
- MonoBehaviour.OnCollisionExit(Collision collision) 當退出碰撞器
- MonoBehaviour.OnCollisionStay(Collision collision) 當逗留碰撞器
2、Trigger:
- MonoBehaviour.OnTriggerEnter(Collider collider)當進入觸發器
- MonoBehaviour.OnTriggerExit(Collider collider)當退出觸發器
- MonoBehaviour.OnTriggerStay(Collider collider)當逗留觸發器
3、Mouse:(Colliders)
- OnMouseDown:當滑鼠上的按鈕被按下時觸發的事件;
- OnMouseUp:當滑鼠按鍵被松開時觸發的事件
- OnMouseDrag:當使用者滑鼠拖拽GUI元素或碰撞體時調用;
- OnMouseEnter:當滑鼠進入物體範圍時被調用,進入時調用一次;
- OnMouseExit:當滑鼠退出時被調用;
- OnMouseOver:當滑鼠移動到某對象的上方時觸發的事件,持續調用;
4、EventSystem:(UI):
PS:隻要腳本挂載的物體或者其子物體(孫物體等)有可以檢測到射線的元件,就可以觸發事件;比如将腳本挂載到Canvas上,如果Canvas下沒有能進行射線檢測的元件(比如Image等元件),則不觸發UI事件;而如果Canvas下有子物體有能檢測射線的元件,則可以觸發事件。例:在Canvas下有兩個Image子物體,Canvas上挂載了UI事件腳本(調用了IpointerEnterHandler等),則當滑鼠進入到兩個Image子物體中時可以調用事件,當滑鼠移出Image子物體,進入空白區域時,則不觸發事件。
- IPointerEnterHandler - OnPointerEnter - 當滑鼠進入
- IPointerExitHandler - OnPointerExit - 當滑鼠離開
- IPointerDownHandler - OnPointerDown - 當滑鼠按下(OnPointerDown和OnPointerUp需要成對出現)
- IPointerUpHandler - OnPointerUp - 當滑鼠擡起(OnPointerDown和OnPointerUp需要成對出現)
- IPointerClickHandler - OnPointerClick - 當滑鼠按下并擡起
- IInitializePotentialDragHandler - OnInitializePotentialDrag -
- IBeginDragHandler - OnBeginDrag - 當開始拖拽
- IDragHandler - OnDrag - 當拖拽中
- IEndDragHandler - OnEndDrag - 當結束拖拽
- IDropHandler - OnDrop - 當放下(在A物體上調用OnDrag,在B物體上調用OnDrop,并保證B物體的渲染優先級比A物體高,即在Hierachy視圖中,指定區域對應的物體一定要在被拖動物體的下面)
- IScrollHandler - OnScroll - 當滾動,常用于ScrollView等元件(Image也可以使用,滑鼠在Image上并滾動滑鼠滾輪時調用)
- IUpdateSelectedHandler - OnUpdateSelected-當每個選擇對象
- ISelectHandler - OnSelect - 當對象變為標明
- IDeselectHandler - OnDeselect - 當對象取消標明
- IMoveHandler - OnMove - 當移動時
- ISubmitHandler - OnSubmit - 當送出按鈕被按下
- ICancelHandler - OnCancel - 當取消按鈕被按下
(待補充)
4、滑鼠滾輪的使用
- Input>getAxis(" Mouse ScrollWheel")
if (Input.GetAxis("Mouse ScrollWheel") > 0) { if (_camera.fieldOfView >= 10) { } }