unity有四个按钮,怎么判断哪个按钮被点击了?
3个回答
展开全部
可以绑定点击事件,点击的时候打印当前按钮名字
至于如何绑定事件有很多种方法,
Button组件上的OnClick
写代码Button.onClick.AddListener(你的方法);
EventTrigger组件也可以
至于如何绑定事件有很多种方法,
Button组件上的OnClick
写代码Button.onClick.AddListener(你的方法);
EventTrigger组件也可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
android在布局时候和动态在布局中添加控件时,都会为每一个控件设置一个id,所以如果要确定时哪个按钮的话,需要知道这个id。
@override
public void onclick(view view) {
switch (view.getid()) {
case id:.....break;
}
@override
public void onclick(view view) {
switch (view.getid()) {
case id:.....break;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
脚本挂载后,把几个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;
}
}
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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询