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

  • 相关阅读:
    闭包
    iframe
    函数声明和函数表达式
    简单的事件委托
    onhashchange
    WebP探索
    Chrome
    适合自己学习的一些网站
    模拟jQuery的一些功能
    __autoload()方法
  • 原文地址:https://www.cnblogs.com/zhh19981104/p/8681063.html
Copyright © 2020-2023  润新知