zoukankan      html  css  js  c++  java
  • NGUI EventDelagate事件委托

    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封装的比较好,可以直接在控制面板进行拖拽即可,但是代码的事件控制可能更加适合具体的功能需求,各取所需把。

  • 相关阅读:
    第04组 Alpha冲刺 总结
    第04组 Alpha冲刺 (6/6)
    软工实践个人总结
    第09组 每周小结 (3/3)
    第09组 每周小结 (2/3)
    第09组 每周小结 (1/3)
    第09组 Beta冲刺 总结
    第09组 Beta冲刺 (5/5)
    第09组 Beta冲刺 (4/5)
    第09组 Beta冲刺 (3/5)
  • 原文地址:https://www.cnblogs.com/zhh19981104/p/8681063.html
Copyright © 2011-2022 走看看