Unity动态绑定Button事件

1、单个按钮不带参数

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Test : MonoBehaviour
{
    public Button btn;
    private void Start()
    {
        btn.onClick.AddListener(BtnOnClick);
    }
    public void BtnOnClick()
    {

    }
}

2、单个按钮带参数

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Test : MonoBehaviour
{
    public Button btn;
    private void Start()
    {
        btn.onClick.AddListener(delegate { BtnOnClick(0); });
    }
    public void BtnOnClick(int value)
    {
        Debug.Log("打印信息");
    }
}

3、多个按钮带参数

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Test : MonoBehaviour
{
    public Button[] btn;
    private void Start()
    {
        for (int i = 0; i < btn.Length; i++)
        {
            int a = i;
            btn[i].onClick.AddListener(delegate { BtnOnClick(a); });
        }
    }
    public void BtnOnClick(int value)
    {
        Debug.Log("打印信息" + value);
    }
}

本站无任何商业行为
个人在线分享 » Unity动态绑定Button事件
E-->