许久没有写C#代码了,对于一些东西自己给整忘了,在此记录下,方便以后自己查阅
获取到按钮组件,我是将代码挂载在其父节点上。
一、代码动态绑定
在代码中获取此按钮,并对他就进行绑定。一般都是使用的这类情况。
private Button backBtn;private Button nextBtn;void Start(){//transform.Find,只有在有父子级关系时查找,并且可以查找到隐藏(即active为false的对象)//返回值类型是Transform 类型backBtn = transform.Find("backGame").GetComponent<Button>();//绑定按钮函数backBtn.onClick.AddListener(OnClickBackBtn);//GameObject.Find,在整个Hierarchy面板中//返回值是一个GameObject类型nextBtn = GameObject.Find("Next").GetComponent<Button>();nextBtn.onClick.AddListener(OnClickNextBtn);}//按钮函数void OnClickBackBtn(){}void OnClickNextBtn(){}
二、直接拖拽。
在脚本中写一个public函数,作为按钮的监听函数,在按钮的Inspector面板中,将这个函数绑定到按钮中。
public void OnClcikTestBtn(){Debug.Log("直接绑定按钮");}
在Inspector面板中添加点击事件:
将带有这个脚本的对象拖拽到添加到点击事件对象中:
选择刚在脚本中写的public函数,即可将此按钮与这个函数进行绑定。
三、直接对按钮新建一个文件进行绑定
这个方法和第一个方式有点类似,只不过是单个文件对应一个按钮,比较鸡肋。
public class TestBtn : MonoBehaviour{void Start(){Button button= this.GetComponent<Button>();button.onClick.AddListener(OnClickBtn);}private void OnClickBtn(){Debug.Log("TestBtn is onclick");}}
将脚本挂载在对应的button按钮上
如果觉得《Unity按钮事件的几种绑定方式》对你有帮助,请点赞、收藏,并留下你的观点哦!