Unity UGUI按钮添加点击事件

1. 可视化创建及事件绑定 #

 1 : 通过 Hierarchy 面板创建 UI > Button.

 Unity UGUI按钮添加点击事件_第1张图片

 2 : 创建一个脚本 TestClick.cs, 定义了一个 Click 的 public 方法(一定要是public的方法).

Unity UGUI按钮添加点击事件_第2张图片

 3 : 把 脚本 TestClick.cs 挂到一个游戏对象或者Button本身上.

 4 : 把挂脚本的游戏对象拖到图中Button的画红圈的位置.

 5 : 点击图中Button的画蓝圈的位置,选择TestClick脚本,选择Click方法.

 Unity UGUI按钮添加点击事件_第3张图片

运行,点击按钮.

 

2. 通过直接绑定脚本来绑定事件 #

 1 : 建一个ButtonClickTest脚本,挂在一个游戏对象上(里面的方法public或private都可以).

复制代码

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 using UnityEngine.UI;
 5 
 6 public class ButtonClickTest : MonoBehaviour {
 7     
 8     private GameObject buttonObj;
 9     private void Start()
10     {
11         buttonObj = GameObject.Find("Button");
12         buttonObj.GetComponent

复制代码

 2 : 运行,点击按钮执行两个方法.

buttonObj.GetComponent
buttonObj.GetComponent

     (
          delegate () { M(); }
     );

 

3. 通过 EventTrigger 实现按钮点击事件(一) #

1 : 创建一个ButtonClickTest 脚本, 利用 UnityEngine.EventSystems.EventTrigger 添加监听事件.

 

复制代码

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 using UnityEngine.UI;
 5 using UnityEngine.EventSystems;
 6 
 7 // 有了此脚本,就会自动添加 EventTrigger 脚本
 8 [RequireComponent(typeof(UnityEngine.EventSystems.EventTrigger))]
 9 public class ButtonClickTest : MonoBehaviour
10 {
11 
12     // Use this for initialization
13     void Start()
14     {
15         Button btn = this.GetComponent

复制代码

 2 :把脚本挂在Button对象上,然后Unity会给Button游戏对象再挂一个EventTrigger脚本.

 3 :运行.

 

4. 通过 EventTrigger 实现按钮点击事件(二) #

 1 :写一个脚本挂在一个游戏对象,例如相机上(和按钮关联的事件方法要声明为public).

复制代码

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 using UnityEngine.UI;
 5 using UnityEngine.EventSystems;
 6 
 7 public class ButtonClickTest : MonoBehaviour
 8 {
 9     // Use this for initialization
10     void Start()
11     {
12     }
13     public void M()
14     {
15         Debug.Log("鼠标点击了!");
16     }
17     public void N()
18     {
19         Debug.Log("鼠标进入了!");
20     }
21     public void F()
22     {
23         Debug.Log("鼠标滑出了!");
24     }
25     public void K()
26     {
27         Debug.Log("鼠标按下了!");
28     }
29     public void L()
30     {
31         Debug.Log("鼠标抬起了!");
32     }
33 }

复制代码

 2 :给Button游戏对象添加EventTrigger组件.

 3 :在组件里添加对应的事件,选择对应的方法.

Unity UGUI按钮添加点击事件_第4张图片

 4 :运行,鼠标在按钮上运动,点击.

你可能感兴趣的:(Unity UGUI按钮添加点击事件)