方式一:
public Button btn;
void Start () {
btn.onClick.AddListener(OnClickBtn);
}
void OnClickBtn()
{
GameObject _click = EventSystem.current.currentSelectedGameObject;
}
但是在某次项目中遇到了_click为空的情况(具体原因不清楚,欢迎大佬赐教),于是用了下面的方式。
方式二:
public Button btn;
void Start () {
btn.onClick.AddListener(()=> { OnClickBtn(btn.gameObject); });
}
void OnClickBtn(GameObject g)
{
Debug.LogError(g.name);
}
(小白一枚,欢迎交流指正)
本文探讨了在Unity中处理UI按钮点击事件的两种不同方法。第一种方法使用EventSystem来获取当前选中的游戏对象,但在某些情况下可能会返回空值。第二种方法直接将按钮对象作为参数传递给事件处理函数,确保了点击事件处理的准确性。
1万+

被折叠的 条评论
为什么被折叠?



