using System.Collections; using System.Collections.Generic; using UnityEngine; public class BUttonClick : MonoBehaviour { public UIButton button_01; void Start() { if (button_01 == null) { Debug.Log("button组件丢失了"); } else { //首先将脚本中的ClicktheButton()方法变成一个EventDelagate类型的事件委托 EventDelegate theEvent =new EventDelegate(this, "ClicktheButtton"); //方法1:EventDelegate.Add(组件的Notefy回调组名称,一个EventDelegate类型的事件) EventDelegate.Add(button_01.onClick, theEvent); //方法2:因为Notefy回调本身就是一个事件组,所以直接add一个EventDelegate类型的事件 button_01.onClick.Add(theEvent); } } //切记一定是要为public类型的,不然会报Cound not find method 'ClicktheButton' on ButtonClick的错误 public void ClicktheButtton() { Debug.Log("我单击了这个按钮"); } }
结尾:一般现在的NGUI封装的比较好,可以直接在控制面板进行拖拽即可,但是代码的事件控制可能更加适合具体的功能需求,各取所需把。