unity有四个按钮,怎么判断哪个按钮被点击了?

如题所述

第1个回答  2020-04-10
可以绑定点击事件,点击的时候打印当前按钮名字
至于如何绑定事件有很多种方法,
Button组件上的OnClick
写代码Button.onClick.AddListener(你的方法);
EventTrigger组件也可以
第2个回答  2020-10-22
android在布局时候和动态在布局中添加控件时,都会为每一个控件设置一个id,所以如果要确定时哪个按钮的话,需要知道这个id。
@override
public void onclick(view view) {
switch (view.getid()) {
case id:.....break;
}
第3个回答  2022-02-10
脚本挂载后,把几个public的按钮 拖进去
public class button_switch:MonoBehaviour{
//
public Button btn_1;
public Button btn_2;
public Button btn_3;
private Sprite btn_on;
private Sprite btn_off;
private int cur_btn = 1;
void Start()
{
btn_on = btn_1.GetComponent<Image>().sprite;
btn_off = btn_2.GetComPonent<Image>().sprite;
btn_1.onClick.AddListener(delegate(){OnClick(1);});
btn_2.onClick.AddListener(delegate(){OnClick(2);});
btn_3.onClick.AddListener(delegate(){OnClick(3);});
}

public void OnClick(int index)
{
//
if(index == cur_btn)
{
return;

}

on_switch(cur_btn,false);
on_switch(index,true);
cur_btn = index;
}

private void on_switch(int index,bool set)
{
switch(index)
{
case 1:btn_1.image.sprite = set == true? btn_on:btn_off; break;
case 2:btn_2.image.sprite = set == true? btn_on:btn_off; break;
case 3:btn_3.image.sprite = set == true? btn_on:btn_off; break;
}
}