NGUI中EventDelegate时间委托的使用方法

xiaoxiao2021-02-28  125

EventDelegate是用于底层进行消息传递和调用的事件委托类型,主要用于对对象事件的监听和处理。

实际上是一个能够持有对某个方法的引用的类。下面以一个UIButton的单击事件为例,将ClickTheButton

挂载到EventDelegate下面进行回调。源代码如下:

using UnityEngine; using System.Collections; public class ButtonClick : MonoBehaviour { //声明UIButton组件的引用,作为获取组件的引用变量 public UIButton myButton; // Use this for initialization void Start () { if (myButton != null) { EventDelegate theButtonClickEvent = new EventDelegate(this, "ClickTheButton"); //Nofity回调本身就是一个事件组,直接注册一个EventDelegate类型的事件 myButton.onClick.Add(theButtonClickEvent); } } // Update is called once per frame void Update () { } public void ClickTheButton() { Debug.Log("单击myButton按钮!"); } } 可以将该代码绑定到任何一个GameObject上面,为方便管理建议绑定到UIRoot下面,然后将一个附有UIButton和

Box Collider组件的物体添加到myButton的引用下面,最后运行脚本就可以在Console视图看到下面的信息提示。

   

转载请注明原文地址: https://www.6miu.com/read-68290.html

最新回复(0)