• Unity技术手册-UGUI零基础详细教程-Toggle切换


    往期文章分享

    本文约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);
                    }
    
                    break;
                case "Toggle二":
                    if (tempToggle.isOn)
                    {
                        Debug.Log("点击了Toggle一" + "==" + tempToggle.isOn);
                    }
                    else
                    {
                        Debug.Log("点击了Toggle一" + "==" + tempToggle.isOn);
                    }
    
                    break;
                default:
                    break;
            }
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    将脚本挂载在Toggle Group中,然后给Toggle一和Toggle二添加事件,将Toogle Group拖拽进来,然后方法的传递参数是Toggle自身,如我们上图所示。
    运行后
    在这里插入图片描述
    在这里插入图片描述

    👉其他

    📢作者:小空和小芝中的小空
    📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
    📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

    温馨提示点击下方卡片获取更多意想不到的资源。
    空名先生

  • 相关阅读:
    ChatGPT专业术语及有效使用方法概述
    Flask Run运行机制剖析
    C语言 return 语句
    [iOS]-RunLoop
    SQL高阶语句
    FPGA信号处理系列文章——码元同步
    多分类交叉熵理解
    Pytorch深度学习—FashionMNIST数据集训练
    scrapy爬虫系列之安装及入门介绍
    《HelloGitHub》第 95 期
  • 原文地址:https://blog.csdn.net/qq_27489007/article/details/127527965