Unity 按钮添加OnClick事件操作

作者:小东灬灬 时间:2023-06-28 15:57:27 

1、在Hierarchy面板右键UI>Button

Unity 按钮添加OnClick事件操作

2、创建一个空物体

Unity 按钮添加OnClick事件操作

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

Unity 按钮添加OnClick事件操作

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

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

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

Unity 按钮添加OnClick事件操作

7、如下

Unity 按钮添加OnClick事件操作

补充: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 () {

}
}

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

来源:https://blog.csdn.net/huhbca/article/details/90731817

标签:Unity,按钮,OnClick事件
0
投稿

猜你喜欢

  • Android自定义单选多选下拉列表的实例代码

    2022-06-08 15:53:33
  • Spring Boot自定义Starter组件开发实现配置过程

    2022-05-31 16:07:12
  • Java 对HashMap进行排序的三种常见方法

    2022-11-04 19:02:10
  • c#固定长度的随机字符串例子

    2021-10-24 06:11:10
  • Winform圆形环绕的Loading动画实现代码

    2023-09-09 00:13:47
  • Android动态模糊效果的快速实现方法

    2022-06-20 13:14:26
  • Android实现图片文字轮播特效

    2021-07-25 18:44:11
  • Android实现蓝牙串口通讯

    2023-03-19 09:22:21
  • C#创建Windows服务与服务的安装、卸载

    2022-12-25 00:46:58
  • C#算法之罗马数字转整数

    2022-05-25 16:20:26
  • java多线程-同步块实例讲解

    2022-06-21 02:10:41
  • springMVC实现文件上传和下载

    2023-04-17 16:39:07
  • Java 接口和抽象类的区别详解

    2021-07-26 13:30:21
  • 解析maven的用法和几个常用的命令(推荐)

    2022-04-16 23:31:15
  • Android ProgressDialog进度条使用详解

    2022-09-24 17:06:03
  • Java如何使用HTTPclient访问url获得数据

    2023-11-12 04:16:21
  • C++异常处理 try,catch,throw,finally的用法

    2021-08-21 21:29:55
  • java多线程创建及线程安全详解

    2022-12-02 18:58:51
  • c# 如何实现自动更新程序

    2021-11-20 21:02:41
  • C#对Word文档的创建、插入表格、设置样式等操作实例

    2021-10-24 23:13:46
  • asp之家 软件编程 m.aspxhome.com