【Unity】多个按钮绑定同一个监听方法

遇到一个需求,为多个同类型的按钮绑定监听方法。通常做法是为每一个按钮分别声明一个监听方法,但当按钮过多的时候,这种方法就不太明智了,重复代码太多,为按钮绑定事件时也容易混乱。

于是我想为所有按钮只绑定一个监听方法,然后在监听方法里用switch语句分别处理不同按钮的事件,所以问题的关键是如何判断按下了哪个按钮?

实际上,这个问题很容易解决,只需一行代码

public void BtnOnClick()
{
    GameObject obj = EventSystem.current.currentSelectedGameObject;
}

EventSystem.current.currentSelectedGameObject会返回当前被点击的物体,通过判断物体名就可以找到按下了哪个按钮。

你可能感兴趣的:(Unity3D)