UGUI 事件命名空間
當我們需要使用 UGUI 中的事件的時候,需要在腳本內引入專有命名空間:
using UnityEngine.EventSystems;
----------------------------------
UI事件之Pointer指針事件
========================================================
1.指針事件介紹
指針:就是 PC 端的鼠標指針,以及移動端的觸屏。
當我們在 PC 端移動鼠標與 UI 物體接觸的時候,就會觸發相應的指針事件。
比如說:
在很多 PC 端游戲的 UI 界面上,當你獲得了一個新的物品,解鎖了一個新的技
能的時候,你不知道它是什么,或者不知道它能干嘛。這個時候當你移動鼠標放
到該物品或者技能 UI 圖標上,就會出現一個提示框,來給你介紹它是什么;當
你移開鼠標后,這個提示框就會消失。[見圖]
在這個案例中,鼠標指針進入和離開,就是相應的指針事件。
----------------------------------
2.指針相關事件接口
1.五個指針相關事件接口
IPointerEnterHandler:指針進入事件處理器;一瞬間觸發。
IPointerExitHandler:指針離開事件處理器;一瞬間觸發。
IPointerDownHandler:指針按下事件處理器;一瞬間觸發。
IPointerUpHandler:指針抬起事件處理器;一瞬間觸發。
IPointerClickHandler:指針單擊事件處理器;指針按下+抬起=單擊
----------------------------------
2.事件接口擴展理解
Button 按鈕組件和 Toggle 復選框組件,這兩個組件都具備單擊的功能,它們
的單擊就是通過實現 IPointerClickHandler 這個接口實現的。[演示]
這些“事件接口”好比是“一個一個的機械零件”,而 UGUI 中的 UI 組件就是
這些零件拼接成的“機械成品”。在開發中我們也可以根據自己的功能需求,把
這些“機械零件”拿來,拼接實現自己的“機械成品”。
========================================================
using UnityEngine; using UnityEngine.EventSystems; public class PointEventDemo1 : MonoBehaviour ,IPointerEnterHandler,IPointerExitHandler,IPointerDownHandler,IPointerUpHandler,IPointerClickHandler { //實現接口 //點擊(按下+抬起) void IPointerClickHandler.OnPointerClick(PointerEventData eventData) { print("OnPointerClick"); } //按下 void IPointerDownHandler.OnPointerDown(PointerEventData eventData) { print("OnPointerDown"); } //抬起 void IPointerUpHandler.OnPointerUp(PointerEventData eventData) { print("OnPointerUp"); } //進入 void IPointerEnterHandler.OnPointerEnter(PointerEventData eventData) { print("OnPointerEnter"); } //離開 void IPointerExitHandler.OnPointerExit(PointerEventData eventData) { print("OnPointerExit"); } }