Unity使用uGUI动态绑定按钮事件

适用场景

Unity使用uGUI动态绑定按钮事件_第1张图片
像这样的弹窗在游戏中经常出现,这个弹窗就是一个prefab,但是当不同的场景触发这个弹窗时,弹窗上的“确定”按钮触发的事件是不同的。
因此需要为弹窗按钮动态绑定事件。

STEP1 在弹窗入口处绑定事件

public void OnXXXBtnClicked() {

	//把弹窗生成出来
	GameObject go = Instantiate(MessageBox, GameObject.Find("Canvas").transform); 
	
	//调用挂载在弹窗上的脚本的函数,获取弹窗上所有的按钮,
	Button[] btns = go.getComponent().getBtns();
	
	//为按钮动态绑定事件
	btns[0].onClick.AddListener(delegate ()
    {
		//这里写该事件的逻辑
		...
    });
}

你可能感兴趣的:(Unity使用uGUI动态绑定按钮事件)