unity3d中利用代码脚本控制按钮的开关

2023-10-27

1.软件环境:unity2019.4.12f1,Visual Studio2019;
2.unity工程设置:
右键在UI中添加Button组件
在这里插入图片描述
接下来添加C#脚本
在这里插入图片描述
将此脚本挂在Button的父物体上,后面会用到transfrom来查找到Button;如果用GameObject查找则没有这个问题具体请见:
GameObject.Find与transform.Find的区别
3.代码书写
完成功能:实现点击按钮改变Cube颜色

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ControlButton : MonoBehaviour
{
    // Start is called before the first frame update
    public GameObject cube;
    Button changecolor;
    void Start()
    {
        cube = GameObject.Find("Cube");
       changecolor = transform.Find("ChangeC").GetComponent<Button>();
        changecolor.onClick.AddListener(changeColor);
    }
 
    public void changeColor()
    {
        cube.GetComponent<MeshRenderer>().material.color = Color.green;
    }
}

注意点:
(1)首先加入using UnityEngine.UI;
(2)changeColor()为对应的功能函数
(3)changecolor = transform.Find(“ChangeC”).GetComponent();找到Button
(4)changecolor.onClick.AddListener(changeColor);加入监听(即检测是否点击按钮)
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity3d中利用代码脚本控制按钮的开关 的相关文章

  • C++ std::accumulate 没有给出预期的总和

    double numbers 1 0 5 0 333333 0 25 0 2 0 166667 0 142857 0 125 0 111111 0 1 std vector
  • 为什么 std::vector 可以处理类定义中的不完整类型?

    出现了以下问题 C 标准似乎说 std vector需要一个完整的类型才能工作 看https en cppreference com w cpp container vector https en cppreference com w cp
  • 与 MinGW 的静态和动态/共享链接

    我想从一个简单的链接用法开始来解释我的问题 假设有一个图书馆z它可以编译为共享库 libz dll D libs z shared libz dll 或静态库 libz a D libs z static libz a 让我想要链接它 然后
  • 非模板函数中的尾随返回类型[重复]

    这个问题在这里已经有答案了 我见过有人使用以下语法来实现函数 auto get next gt int 代替 int get next 我理解两者 并且我知道尾随返回类型语法对于使用 decltype 的模板代码很有用 就我个人而言 我会避
  • 如何从经过身份验证的 SecurityToken 中获取声明

    我将令牌作为字符串传递到 SOAP 服务中 并验证了该令牌是否有效 我现在有一个 SecurityToken 在调试模式下我可以看到所有声明 特别是我想传递到另一个方法的 userId 声明 我似乎不知道如何获得这些索赔 现在 我解码了令牌
  • CMake(Ninja 后端)使用 /MT 编译

    我有一个类似的问题CMake 使用 MT 而不是 MD 进行编译 https stackoverflow com questions 14172856 cmake compile with mt instead of md但有一些差异 我正
  • 我担心我添加了太多接口

    我正在构建我的领域模型并继续重构它 正如我所做的那样 我发现我喜欢接口 因为它允许我根据接口为具体类型创建可重用的方法 控制器 视图 但是 我发现每次向域实体之一添加新属性时 我都会创建一个接口 例如 我有一个会员状态从抽象继承的对象Ent
  • DateTime.ParseExact - 为什么 yy 变成 2015 而不是 1915

    为什么 NET 假定以下年份是 2015 年 而不是 1915 年 var d DateTime ParseExact 20 11 15 dd MM yy new CultureInfo en GB 我想 它会尝试接近 但其背后是否有合理的
  • 当我尝试传递临时地址作为参数时,它是一个 UB 吗?

    对于以下 C 代码 include
  • 如何在VS2005中使用从.bat而不是.exe启动的外部程序进行调试?

    在我的 c 项目的调试属性中 我选择了 启动外部程序 并选择了我希望将调试器附加到的程序的 exe 但是 现在我需要从 bat 文件而不是 exe 启动程序 但 VS2005 似乎不允许这样做 这可能吗 编辑 为了澄清 我需要调试从 bat
  • 在 clang 中向量化函数

    我正在尝试根据此用 clang 对以下函数进行矢量化铿锵参考 http llvm org docs Vectorizers html 它采用字节数组向量并根据以下条件应用掩码this RFC https www rfc editor org
  • C++网络序列化[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一种将 C 数据包序列化为网络流的解决方案 我在这里看到很多帖子提到人们 ACE 谷歌协议缓
  • Clang 5.0 上的 vsprintf 和 vsnprintf [-Wformat-nonliteral] 警告

    我有这段代码 static void err doit int errnoflag int level const char fmt va list ap int errno save unsigned long n char buf MA
  • 在一个解决方案中调用不同项目的方法

    1 个解决方案中有 3 个项目 我对第一个项目中的主文件进行的主要操作 但是我需要调用第三个项目中的方法并使用类 例如 第三个项目有 public DataClasses1DataContext base global WindowsFor
  • g++ / gcc 是否支持 C++20 新的atomic_flag 功能?

    根据参考参数 https en cppreference com w cpp atomic atomic flag c 20 有丰富的 对我来说有用的 支持atomic flag运营 然而 目前尚不清楚 gcc 是否支持这些功能 它们在任何
  • 在多线程环境中捕获信号

    我有一个大型程序 需要尽可能具有弹性 并且有大量线程 我需要捕获所有信号SIGBUS SIGSEGV 并在必要时重新初始化有问题的线程 或者禁用该线程以继续减少功能 我的第一个想法是做一个setjump 然后设置信号处理程序 可以记录问题
  • C++ 中的析构函数

    我的 AB h 文件中有一个构造函数 class AB private int i public AB i 0 constructor AB i 0 destructor virtual void methodA unsigned int
  • 如何配置 qt Creator 以显示 C++ 代码而不是反汇编程序?

    昨天我做了很多事情 比如更新 GCC Clang 和重新安装 Qt Creator 今天 在逐步调试我的代码时 调试器显示的是反汇编代码 而不是我编写的 C 代码 紧迫F10 or F11 调试器正在进入汇编代码而不是 cpp nor h我
  • NHibernate:无状态会话错误消息无法获取代理

    我正在使用 nHibernate 无状态会话来获取对象 更新一个属性并将对象保存回数据库 我不断收到错误消息 无状态会话无法获取代理 我在其他地方有类似的代码 所以我不明白为什么这不起作用 有谁知道问题可能是什么 我正在尝试更新Screen
  • 如何使用 Microsoft Graph API 更新 MailboxSettings

    我想从不同的日历更新邮箱设置 如何构建可以通过 Microsoft Graph 更新 MailboxSetting 的请求 这是我的代码示例 但有例外 代码示例 User obj GraphServiceClient Users roomC

随机推荐

  • rtx 3060 notebook cuda 与 gpu驱动安装

    cudnn的下载与安装 需要用户登录nvidia 然后再进入该地址 https developer nvidia com rdp cudnn archive https developer download nvidia cn comput
  • 配置Nginx正向代理

    需求 UAT需要在10 xx xx xx部署一个正向代理 端口号是80 要访问的外网域名为http api cn xxx com 1 查看80端口和外网是否畅通 telnet 10 xx xx xx 80 curl http api cn
  • 【Java学习004】Map集合遍历

    方式1使用Map Entry进行遍历 在for循环中使用 Map Entry 对象实现Map对象的遍历 public class Test public static void main String args Map
  • RNN,LSTM,GRU回顾(主要知道代码怎么使用)

    RNN的计算流程 RNN的计算流程图如下图所示 nn RNN的初始化是这样规定的 rnn nn RNN input size hidden size bias False batch first True 这里的input size就是其中
  • libjasper-dev 安装问题

    libjasper dev Depends libjasper1 1 900 1 debian1 2 4 deb8u1 but 1 900 1 debian1 2 4 deb8u3 is to be installed 执行 sudo ap
  • Xpath-helper下载及安装(爬虫必备-Chrome插件)

    一 下载 百度网盘链接下载 xpath helper crx 链接 https pan baidu com s 11IYyYJBGUiR3BY7cS7sLOA 提取码 iefg 二 安装 1 打开chrome页面 点击 右上角三个点 更多工
  • 云计算~Linux的常用命令

    云计算 Linux的常用命令 常用命令 kernels Shell与内核 内部命令与外部命令 ls命令 help man命令 pwd命令 cd命令 alias命令 du命令 touch命令 ln命令 cp命令 rm命令 which 命令 f
  • 机器学习--近邻成分分析(NCA)算法 和 度量学习

    1 近邻成分分析 NCA 算法 以上内容转载自 http blog csdn net chlele0105 article details 13006443 2 度量学习 在机器学习中 对高维数据进行降维的主要目的是找到一个合适的低维空间
  • dz论坛ucenter打不开mysql_Discuz和Ucenter安装出现PHP无法连接MYSQL情况

    安装时出现mysql connect 不支持请检查mysql模块是否正确加载这时候方意识到情况的严重 因为安装MYSQL的时候没有去测试与PHP的连接 PHP测试用测试过没问题 网址 安装时出现mysql connect 不支持 请检查 m
  • pandas常见用法总结:数据筛选,过滤,插入,删除,排序,分组聚合等

    pandas里面的用法相对非常灵活 经常会有一种需求可以采用多种方式实现的情况 为了方便查找与记忆 特此对pandas里面常见的一些用法 1 选择指定列 选择指定列是常见的需求 同样的实现方式也非常多 1 1 pd read csv 常用的
  • vue 键盘(上下左右)快捷键

    keydown 在键盘上按下某个键时触发 如果按住某个键 会不断触发该事件 但是 Opera 浏览器不支持这种连续操作 keypress 按下某个键盘键并释放时触发 如果按住某个键 会不断触发该事件 该事件处理函数返回 false 时 会取
  • error: LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __cdecl

    Qt系列文章目录 文章目录 Qt系列文章目录 前言 一 QtCreator中qmake命令是什么 2 解决 前言 我在代码中加入了对应的信号和槽 但编译仍然报错 ifndef PROJECTWIN H define PROJECTWIN H
  • 大华、海康rtsp视频流格式

    一 海康威视热眼警戒摄像机DS 2TD1217 3 PA 型号 1号与2号摄像头 Camera 01 Camera 02 方法一 只能读取1号摄像头 rtsp admin 密码 192 168 1 64 554 cam realmonito
  • 美食推荐系统的设计与实现

    1 1 系统的总体目标 该美食推荐系统的总体目标是为用户提供一个全面 准确 方便的美食推荐服务 以满足用户的多样化需求 系统的主要目标如下 1 提供丰富多样的美食信息和推荐内容 为用户提供准确 全面的美食推荐服务 2 实现管理员和用户分离
  • linux文件系统搭建记录

    ubuntu 热插拔挂载 编辑 etc udev 99 xxx rules KERNEL mmcblk1p1 SUBSYSTEMS block ACTION add RUN program usr bin systemd mount no
  • 论文阅读:CVPR 2022 Object Localization under Single Coarse Point Supervision

    任务 point based object localization POL Motivation 具有相同语义信息的点具有不同的标签 而其他方法预先定义的关键点可能是不准确的 因此本文提出来基于粗糙点定位的模式 概述如下 1 采用粗略的点
  • C++中vector的删除

    在vector中有三种涉及删除的方法 第一种是vector clear 第二种是vector erase 第三种是vector pop back clear用来清空整个vector 同时将size变成0 无返回值 erase通过传入迭代器进
  • 小程序点击导航栏返回顶部小例子

  • Java提高性能的50个优化,记得收藏

    在JAVA程序中 性能问题的大部分原因并不在于JAVA语言 而是程序本身 养成良好的编码习惯非常重要 能够显著地提升程序性能 1 尽量在合适的场合使用单例 使用单例可以减轻加载的负担 缩短加载的时间 提高加载的效率 但并不是所有地方都适用于
  • unity3d中利用代码脚本控制按钮的开关

    1 软件环境 unity2019 4 12f1 Visual Studio2019 2 unity工程设置 右键在UI中添加Button组件 接下来添加C 脚本 将此脚本挂在Button的父物体上 后面会用到transfrom来查找到But