Unity技术手册-UGUI零基础详细教程-Toggle切换_unity 代码控制shader的toggle值(1)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

本文约3千字,新手阅读需要7分钟,复习需要2分钟收藏随时查阅不再迷路

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单

在这里插入图片描述

👉前提

这是小空坚持写的Unity新手向系列,欢迎品尝。

小空为了方便更多的人(新手)看明白,使用的汉字,真实项目尽量使用英文规则昂。

新手(√√√)

大佬(√)

👉实践过程

该组件的原理其实就控制一个目标组件的显示和隐藏,配合其他图片背景内容造成是一个开关的错觉。如图,是默认系统创建的一个Toggle控件。
在这里插入图片描述

😜Toggle属性

重点在Toggle上,可以看到Toggle组件中的Transition和Button中的一样,有四个设置选项(下方有图,重点属性)无、颜色过度、精灵图切换过度、动画过度。更多详情可看小空Button的内容。
**Is On:**是否打开,对勾表示显示了下方Graphic属性中指定的图片,否则是隐藏,代码中可gameObject.GetComponent().isOn = false;随时修改
**Toggle Transition:**有两个值None和Fade,表示显示隐藏过程是否有渐变效果(时间很多)。
**Graphic:**指定要控制显示隐藏的图片。
**Group:**是开关组的概念,可以实现单选按钮功能。
**On Value Changed(Boolean):**类似于Button中的On Click,在这里添加事件,可以使得开关被点击的同时触发一些事件。
我们详细来一个Toogle组的案例
创建一个空物体,挂载Tiggle Group组件,之后创建两个Toggle组件,如下图:
在这里插入图片描述
然后将Toggle Group拖拽如两个Toggle组件的Group属性中,这时会如下图显示。
在这里插入图片描述
当勾选上Toggle Group中Allow Switch Off时,同一时间运行所有开关默认都是关闭的,不勾选则至少保留一个开关是开启的。
运行,就已经有了初步的效果,我们再添加点击事件,创建个TestToggle脚本,

😜Toggle事件代码
public class TestToggle : MonoBehaviour
{
	//方法一
    public void ToggleChange(bool stage)
    {
        Debug.Log("注意一定要选择Dynamic bool下的这个方法名");
    }
	//方法二
    public void ToggleChange(GameObject toggleGameObject)
    {
        Toggle tempToggle = toggleGameObject.GetComponent<Toggle>();
        switch (toggleGameObject.name)
        {
            case "Toggle一":
                if (tempToggle.isOn)
                {
                    Debug.Log("点击了Toggle一" + "==" + tempToggle.isOn);
                }
                else
                {
                    Debug.Log("点击了Toggle一" + "==" + tempToggle.isOn);


![img](https://img-blog.csdnimg.cn/img_convert/d68b18463292f3fa1f46e1b39c9f2f49.png)
![img](https://img-blog.csdnimg.cn/img_convert/f8866e3ff8c42eeb795cbaf37db287b3.png)
![img](https://img-blog.csdnimg.cn/img_convert/f3439fc50c3a2489b8a4318893a1cd83.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

  • 15
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用UnityToggle组件和事件来实现在点击Toggle切换子物体的颜色。首先,在子物体上添加一个Image组件,并将其颜色设置为默认颜色。然后在Toggle组件上勾选“Is On”属性,这样Toggle默认就是选中状态。接下来,在Toggle上添加一个Toggle组件,并在该组件的“On Value Changed”事件中添加一个事件处理程序。在事件处理程序中,你可以检查Toggle的选中状态,然后根据需要设置子物体的颜色。例如,以下代码将在Toggle选中时将子物体的颜色设置为红色,取消选中时将颜色设置回默认颜色: ```csharp public class ToggleColorController : MonoBehaviour { public Toggle toggle; public Image childImage; public Color defaultColor = Color.white; public Color selectedColor = Color.red; void Start() { // 设置子物体默认颜色 childImage.color = defaultColor; // 添加Toggle事件处理程序 toggle.onValueChanged.AddListener(OnToggleValueChanged); } void OnToggleValueChanged(bool isOn) { // 根据Toggle的选中状态切换子物体颜色 if (isOn) { childImage.color = selectedColor; } else { childImage.color = defaultColor; } } } ``` 在这个示例中,我们为Toggle组件添加了一个事件处理程序,并在Start方法中设置了子物体的默认颜色。在事件处理程序中,我们检查Toggle的选中状态,并根据状态切换子物体的颜色。最后,将Toggle组件和子物体的Image组件分别分配给变量toggle和childImage。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值