Unity 按钮添加OnClick事件操作
作者:小东灬灬 发布时间:2023-06-28 15:57:27
标签: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 () {
}
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/huhbca/article/details/90731817


猜你喜欢
- 本文旨在通过重写Comparator接口的compare()方法实现对List的升序、降序、倒序排序。首先明确一点:compare(Inte
- 问题描述1.可以访问同一个文件夹下面的success.jsp文件,如图:2、却不能访问同一个文件夹下面的 index.html文件,如图:问
- 本文实例讲述了Android编程实现滑动按钮功能。分享给大家供大家参考,具体如下:首先效果图:然后是分别建立三个文件,第一个是main.cl
- SpringBoot配置文件优先级前面SpringBoot基础有提到,关于SpringBoot配置文件可以是properties或者是yam
- 需求说明要求根据用户输入,生成相应组数的电话号码实现思路1、通过百度,获取对应真实世界中电话号码的头三位数2、采用Math.random()
- C语言代码由上到下依次执行,原则上函数定义要出现在函数调用之前,否则就会报错。但在实际开发中,经常会在函数定义之前使用它们,这个时候就需要提
- 本文实例讲解了Android自动提取短信验证码解决方案,分享给大家供大家参考,具体内容如下<uses-permission andro
- 上一篇文章自定义viewgroup(1)地址:https://www.jb51.net/article/100608.htm这里直接代码:p
- // 1. 实现一个函数,在一个有序整型数组中二分查找出指定的值,找到则返回该值的位置,找不到返回 -1。package demo;publ
- 目录android_os_MessageQueue.cppLooper.cpp1.epoll基础知识介绍epoll工作流程分析案例2. po
- 1.屏幕是否亮屏:PowerManager powerManager = (PowerManager) context.getS
- 在android中的webview中,可以对文本内容进行对齐,具体方法如下 public class MainActivity
- 其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的。因为Android官方从来没有给出过沉浸式状态栏这样
- 本文实例讲述了Android编程实现画板功能的方法。分享给大家供大家参考,具体如下:Android实现画板主要有2种方式,一种是用自定义Vi
- Android广播机制概述Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播
- 在最近的项目中有个需求是这样的:入参封装成JSON,EXAMPLE:{ "uuid": "iamauuid&q
- 本文实例讲述了C#装箱和拆箱操作。分享给大家供大家参考,具体如下:1. C#中的装箱C#中的装箱就是把一个值类型隐式地转换为object类型
- 二叉树的结构public class TreeNode { int val; &nbs
- 背景:当我们有需求将HashMap转为Json格式的String时,切记不要使用HashMap的toString()方法,需要使用FastJ
- 今天Android Studio提示我这个东东。。。为了加快Gradle的构建速度,我点击了“Update”。。。之后工程一片红,全是R文件