Unity UGUI事件介面(EventSystems介面)
阿新 • • 發佈:2018-12-21
事件介面的觸發條件
using UnityEngine.EventSystems;
/// <summary> /// 指標點選事件 /// *在元件可視的區域按下且擡起時指標處於區域內(按下離開區域後擡起不會觸發) /// </summary> /// <param name="eventData"></param> public virtual void OnPointerClick(PointerEventData eventData) { } /// <summary> /// 指標按下事件 /// </summary> /// <param name="eventData"></param> public virtual void OnPointerDown(PointerEventData eventData) { } /// <summary> /// 指標進入事件 /// </summary> /// <param name="eventData"></param> public virtual void OnPointerEnter(PointerEventData eventData) { } /// <summary> /// 指標離開事件 /// </summary> /// <param name="eventData"></param> public virtual void OnPointerExit(PointerEventData eventData) { } /// <summary> /// 指標擡起事件 /// </summary> /// <param name="eventData"></param> public virtual void OnPointerUp(PointerEventData eventData) { } /// <summary> /// 初始化潛在的拖動事件 /// *與IPointerDownHandler事件觸發條件大致相同 /// </summary> /// <param name="eventData"></param> public virtual void OnInitializePotentialDrag(PointerEventData eventData) { } /// <summary> /// 拖動開始事件 /// </summary> /// <param name="eventData"></param> public virtual void OnBeginDrag(PointerEventData eventData) { } /// <summary> /// 拖動中事件 /// </summary> /// <param name="eventData"></param> public virtual void OnDrag(PointerEventData eventData) { } /// <summary> /// 拖動結束事件 /// </summary> /// <param name="eventData"></param> public virtual void OnEndDrag(PointerEventData eventData) { } /// <summary> /// 接收拖動事件 /// *接受實現IDragHandler介面的元件拖動到本元件上面鬆開時觸發 /// </summary> /// <param name="eventData"></param> public virtual void OnDrop(PointerEventData eventData) { } /// <summary> /// 滾動事件 /// *滑輪在上面滾動時觸發 /// </summary> /// <param name="eventData"></param> public virtual void OnScroll(PointerEventData eventData) { } #region InputManager關聯組事件(同選擇組要求) /// <summary> /// 移動事件(上下左右) /// *與InputManager裡的Horizontal和Vertical按鍵相對應。Input.GetAxisRaw /// </summary> /// <param name="eventData"></param> public virtual void OnMove(AxisEventData eventData) { } /// <summary> /// 取消事件 /// *按下InputManager裡的Cancel對應的按鍵(PC、Mac預設:Esc鍵)。Input.GetButtonDown /// </summary> /// <param name="eventData"></param> public virtual void OnCancel(BaseEventData eventData) { } /// <summary> /// 提交事件 /// *按下InputManager裡的Submit對應的按鍵(PC、Mac預設:Enter鍵)。Input.GetButtonDown /// </summary> /// <param name="eventData"></param> public virtual void OnSubmit(BaseEventData eventData) { } #endregion #region 選擇組事件 /*必須設定選擇物件後才能觸發 * EventSystem.current.SetSelectedGameObject(gameobject) */ /// <summary> /// 選擇事件 /// </summary> /// <param name="eventData"></param> public virtual void OnSelect(BaseEventData eventData) { } /// <summary> /// 取消選擇事件 /// </summary> /// <param name="eventData"></param> public virtual void OnDeselect(BaseEventData eventData) { } /// <summary> /// 選中物體每幀觸發事件 /// </summary> /// <param name="eventData"></param> public virtual void OnUpdateSelected(BaseEventData eventData) { } #endregion