在Unity开发过程中,经常会遇到多个Button使用同一个点击事件的情况,在这种情况下有时我们需要对本次点击的按钮进行一系列操作或者根据本次点击的按钮来执行一些事件。那么首先我们需要做的就是获取到本次点击的按钮对象。
我自己常用的有两种方法。
首先,我们需要一个List来将我们的按钮管理起来,这样做会方便对每一个按钮进行操作。
public List<Button> buttons = new List<Button>();//通过外部拖入或者动态获取来将按钮添加到List中
接下来,分别定义两种点击事件:
点击方法一:
//第一种点击方法
void ClickEvent1()
{
//通过 UnityEngine.EventSystems的底层来获取到当前点击的对象
var button = UnityEngine.EventSystems.EventSystem.current.currentSelectedGameObject;
Debug.Log(button.name);
}
点击方法二:
//第二种点击方法
void ClickEvent2(int a)
{
Debug.Log(buttons[a].name);
}
大家可以看到,方法一是一个无参的方法,方法二是一个有参方法,那么在为按钮添加事件是