一、在按钮绑定事件
1、在资源面板创建C#脚本
2、创建点击事件需要执行的代码(这里以loadMain为例),新增一个叫OnStartButtonClick的Public方法。
usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassloadMain:MonoBehaviour{voidStart(){}voidUpdate(){}publicvoidOnStartButtonClick(){
Debug.Log("prefabName1");//只能运行时看到输出,可以换其他点击事件。}}
可以选择生成或者调试,从VS更新代码到Unity。
3、场景中创建Button和empty(生成空的GameObject)
4、将代码挂在刚刚的GameObject上(这里将GameObject重命名为loader),直接从资源窗口拖动到面板即可。
5、点击Button,找到面板的onclick(),选择刚刚的GameObject(即loader)
6、在右侧选择对应的方法。
二、直接通过脚本绑定事件
usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.UI;//Button组件的依赖publicclassa:MonoBehaviour{privateButton btn_Start;//定义一个Button类型的变量// Start is called before the first frame updatevoidStart(){
btn_Start = GameObject.Find("Button").GetComponent<Button>();//通过Find查找名称获得我们要的Button组件
btn_Start.onClick.AddListener(OnStartButtonClick);//监听点击事件}privatevoidOnStartButtonClick(){
Debug.Log("点击事件");}// Update is called once per framevoidUpdate(){}}
三、脚本创建按钮绑定方法
voidcreateBtn(){GameObject itemList = GameObject.Find("itemList");for(int i =0; i < itemArray.Length; i++){GameObject itemButtonObj =newGameObject(itemArray[i].itemName);
itemButtonObj.transform.SetParent(itemList.transform,false);/*itemButtonObj.transform.parent = itemList.transform;*/Button itemButton = itemButtonObj.AddComponent<Button>();Image img = itemButtonObj.AddComponent<Image>();
img.sprite = Resources.Load("Assets/Resources/Textures/A.png")asSprite;
itemButton.GetComponent<Button>().onClick.AddListener(displayObj);}}
四、拓展阅读
《Unity:从入门到入行》
《使用C#脚本时不同类之间相互调用方法》
《在Unity中进行断点调试》
版权归原作者 灵境引路人 所有, 如有侵权,请联系我们删除。