Advertisement

Unity API UGUI监听事件

阅读量:

通过拖拽的方式监听UGUI的事件

通过代码添加对UGUI控件的事件监听

复制代码
 using System;

    
 using UnityEngine;
    
 using UnityEngine.UI;
    
  
    
 public class UIEventManager : MonoBehaviour {
    
  
    
     public GameObject btnGameObject;
    
     public GameObject sliderGameObject;
    
     public GameObject dropDownGameObject;
    
     public GameObject toggleGameObject;
    
  
    
 	// Use this for initialization
    
 	void Start () {
    
     btnGameObject.GetComponent<Button>().onClick.AddListener(this.ButtonOnClick);//添加按钮的监听事件
    
     sliderGameObject.GetComponent<Slider>().onValueChanged.AddListener(this.OnSliderChanged);//添加滑动条的监听事件
    
     dropDownGameObject.GetComponent<Dropdown>().onValueChanged.AddListener(this.OnDropDownChanged);//添加下拉条的监听事件
    
     toggleGameObject.GetComponent<Toggle>().onValueChanged.AddListener(this.OnToggleChanged);//添加单选框的监听事件
    
     }
    
     //按钮事件
    
     void ButtonOnClick()
    
     {
    
     Debug.Log("ButtonOnClick");
    
     }
    
     //滑动条事件
    
     void OnSliderChanged(float value)
    
     {
    
     Debug.Log("SliderChanged:" + value);
    
     }
    
     //下拉条事件
    
     void OnDropDownChanged(Int32 value)
    
     {
    
     Debug.Log("DropDownChanged:" + value);
    
     }
    
     //单选框事件
    
     void OnToggleChanged(bool value)
    
     {
    
     Debug.Log("ToggleChanged:" + value);
    
     }
    
  
    
     // Update is called once per frame
    
     void Update () {
    
 		
    
 	}
    
 }

跟鼠标相关的事件接口的实现

查看相关接口

必须勾上此选项。

IPointerDownHandler 鼠标按下
IPointerClickHandler 鼠标点击
IPointerUpHandler 鼠标抬起
IPointerEnterHandler 鼠标移上
IPointerExitHandler 鼠标移出
复制代码
 using System.Collections;

    
 using System.Collections.Generic;
    
 using UnityEngine;
    
 using UnityEngine.UI;
    
 using UnityEngine.EventSystems;
    
 using System;
    
 //interface
    
  
    
 public class UIEventManager2 : MonoBehaviour
    
     , IPointerDownHandler//鼠标按下
    
     , IPointerClickHandler//鼠标点击
    
     , IPointerUpHandler//鼠标抬起
    
     , IPointerEnterHandler//鼠标移上
    
     , IPointerExitHandler//鼠标移出{
    
     
    
     public void OnPointerClick(PointerEventData eventData)
    
     {
    
     Debug.Log("OnPointerClick");
    
     }
    
  
    
     public void OnPointerDown(PointerEventData eventData)
    
     {
    
     Debug.Log("OnPointerDown");
    
     }
    
  
    
     public void OnPointerEnter(PointerEventData eventData)
    
     {
    
     Debug.Log("OnPointerEnter");
    
     }
    
  
    
     public void OnPointerExit(PointerEventData eventData)
    
     {
    
     Debug.Log("OnPointerExit");
    
     }
    
  
    
     public void OnPointerUp(PointerEventData eventData)
    
     {
    
     Debug.Log("OnPointerUp");
    
     }
    
 }

跟拖拽相关的事件接口的实现

IBeginDragHandler 开始拖拽
IDragHandler 拖拽中
IEndDragHandler 拖拽结束
IDropHandler 拖拽完成后在对象上抬起鼠标时触发
复制代码
 using System.Collections;

    
 using System.Collections.Generic;
    
 using UnityEngine;
    
 using UnityEngine.UI;
    
 using UnityEngine.EventSystems;
    
 using System;
    
 //interface
    
  
    
 public class UIEventManager2 : MonoBehaviour
    
     ,IBeginDragHandler//开始拖拽
    
     ,IDragHandler //拖拽中
    
     ,IEndDragHandler //拖拽结束
    
     ,IDropHandler //拖拽完成后在对象上抬起鼠标时触发
    
 {
    
     public void OnBeginDrag(PointerEventData eventData)
    
     {
    
     Debug.Log("OnBeginDrag");
    
     }
    
  
    
     public void OnDrag(PointerEventData eventData)
    
     {
    
     Debug.Log("OnDrag");
    
     }
    
  
    
     public void OnDrop(PointerEventData eventData)
    
     {
    
     Debug.Log("OnDrop");
    
     }
    
  
    
     public void OnEndDrag(PointerEventData eventData)
    
     {
    
     Debug.Log("OnEndDrag");
    
     }
    
 }

全部评论 (0)

还没有任何评论哟~