Unity 丨 不同按钮执行不同事件

btnParent是按钮的父节点

using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class OnClickTest : MonoBehaviour
{
//所有Button的父节点
public Transform btnParent;
private Button[] btns;

void Start () {

//初始化数组长度
btns = new Button[btnParent.childCount];
//便利父节点下所有的按钮
for (int i = 0; i < btns.Length; i++)
{
//赋值按钮
btns[i] = btnParent.GetChild(i).GetComponent<Button>();
//为按钮添加点击事件
btns[i].onClick.AddListener(OnClick);

}
}

/// <summary>
/// 按钮点击事件
/// </summary>
private void OnClick()
{
//按下时 判断当前点击的按钮的名字
string btnName = EventSystem.current.currentSelectedGameObject.GetComponent<Button>().name;

print("当前按钮是: " + btnName);
}
}

————————————————
版权声明:本文为CSDN博主「于子潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yzx5452830/article/details/78873478

posted @ 2022-04-23 16:34  这不是通鸽鸽  阅读(209)  评论(0编辑  收藏  举报