这篇文章主要介绍了Unity 按钮添加OnClick事件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
1、在Hierarchy面板右键UI>Button

2、创建一个空物体

3、创建一个脚本 ButtonClick.cs,定义一个Click方法(必须为Public)

4、把脚本挂在到空物体上
5、将空物体拖到如下图 None(Object) 位置
6、在右侧选择 ButtonClick>Click 方法

7、如下

补充:Unity三种添加Click事件
我就废话不多说了,大家还是直接看代码吧~
1
2
3
4
5
6
7
8
9
10
11
12
|
public Button btn;
void Start () {
// 一、btn.onClick.AddListener(OnBtnClick);
// 二、btn.onClick.AddListener(delegate () { OnBtnClick(); });
btn.onClick.AddListener(() => {
OnBtnClick();
});
}
void OnBtnClick()
{
Debug.Log( "0000" );
}
|
补充:Unity UGUI 动态添加Button.OnClick()事件
如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.Events;
using UnityEngine.UI;
public class ButtonOnClickTest: MonoBehaviour {
// Use this for initialization
void Start () {
List< string > btnsName = new List< string >();
btnsName.Add( "BtnPlay" );
btnsName.Add( "BtnShop" );
btnsName.Add( "BtnLeaderboards" );
foreach ( string btnName in btnsName)
{
GameObject btnObj = GameObject.Find(btnName);
Button btn = btnObj.GetComponent<Button>();
btn.onClick.AddListener( delegate () {
this .OnClick(btnObj);
});
}
}
public void OnClick(GameObject sender)
{
switch (sender.name)
{
case "BtnPlay" :
Debug.Log( "BtnPlay" );
break ;
case "BtnShop" :
Debug.Log( "BtnShop" );
break ;
case "BtnLeaderboards" :
Debug.Log( "BtnLeaderboards" );
break ;
default :
Debug.Log( "none" );
break ;
}
}
// Update is called once per frame
void Update () {
}
}
|
原文链接:https://blog.csdn.net/huhbca/article/details/90731817