Unity 按钮添加OnClick事件操作

 更新时间:2021年04月09日 15:05:26   作者:小东灬灬  
这篇文章主要介绍了Unity 按钮添加OnClick事件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1、在Hierarchy面板右键UI>Button

2、创建一个空物体

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

4、把脚本挂在到空物体上

5、将空物体拖到如下图 None(Object) 位置

6、在右侧选择 ButtonClick>Click 方法

7、如下

补充:Unity三种添加Click事件

我就废话不多说了,大家还是直接看代码吧~

 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()事件

如下所示:

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 () {
 
 }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • C#中IEnumerable接口用法实例分析

    C#中IEnumerable接口用法实例分析

    这篇文章主要介绍了C#中IEnumerable接口用法,实例分析了IEnumerable接口的功能与使用技巧,需要的朋友可以参考下
    2015-04-04
  • C# Winform消息通知系统托盘气泡提示框ToolTip控件

    C# Winform消息通知系统托盘气泡提示框ToolTip控件

    这篇文章主要为大家介绍了C#或Winform中的消息通知之系统托盘的气泡提示框窗口(系统toast通知)、ToolTip控件和ToolTipText属性详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • C#异步调用示例详解

    C#异步调用示例详解

    这篇文章主要为大家详细介绍了C#异步调用的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • C#使用opencv截取旋转矩形区域图像的实现示例

    C#使用opencv截取旋转矩形区域图像的实现示例

    这篇文章主要介绍了C#使用opencv截取旋转矩形区域图像,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • C#中的延时函数sleep

    C#中的延时函数sleep

    这篇文章主要介绍了C#中的延时函数sleep用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • C#使用Linq to XML进行XPath查询的代码实现

    C#使用Linq to XML进行XPath查询的代码实现

    最近在用到HtmlAgliltyPack进行结点查询时,发现这里选择结点使用的是XPath,所以这里总结一下在C#中使用XPath查询XML的方法,习惯了用Linq,这里也是用的Linq to xml的,需要的朋友可以参考下
    2024-08-08
  • Unity3D实现列表分页效果

    Unity3D实现列表分页效果

    这篇文章主要为大家详细介绍了Unity3D实现列表分页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • 解析C#多线程编程中异步多线程的实现及线程池的使用

    解析C#多线程编程中异步多线程的实现及线程池的使用

    这篇文章主要介绍了C#多线程编程中异步多线程的实现及线程池的使用,同时对多线程的一般概念及C#中的线程同步并发编程作了讲解,需要的朋友可以参考下
    2016-03-03
  • 一篇文章看懂C#中的协变、逆变

    一篇文章看懂C#中的协变、逆变

    这篇文章主要给大家介绍了如何通过一篇文章看懂C#中协变、逆变的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • C#判断指定驱动器是否是Fat分区格式的方法

    C#判断指定驱动器是否是Fat分区格式的方法

    这篇文章主要介绍了C#判断指定驱动器是否是Fat分区格式的方法,涉及C#中DriveFormat属性的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04

最新评论