一、初始Toggle介绍
1.作用:单选框\
2.显示效果
3.Object结构
二、Toggle属性
[前部分同](UnityUI—Button - 掘金 (juejin.cn))
| 属性 | 功能 |
|---|---|
| Is On | 是否勾选 |
| Toggle Transition | 在勾选与取消勾选时,√对应image的效果; None:无效果,直接出现/消失; Fade:渐隐渐显 |
| Graphic | √号对应的image。当然,可以换成任意喜欢的图片 |
| Group | 对应的[ToggleGroup] |
三、Toggle Group 简介
Toggle Group是可不见的功能性组件。属于同一个Toggle Group的多个Toggle,在同一时刻只有一个处于被勾选的状态(IsOn == true)。当点击组内某个单选框时,该组内其它会自动取消勾选,所以它就是用来快速实现多选一的。 另外:Toogle Group可以挂载到任何物体上,不必非是Canvas的子物体。
四、属性
Toggle Group只有一个属性:Allow Switch Off——是否允许全不选(若不勾选,则必有一个处于选中状态)
五、如何指定Toggle所在组
在Toggle中有一个属性:Group。将指定Toggle Group拖入,就表示此Toggle归入该Toggle Group。
六、事件On Value Changed
1、引言
每个可互动组件都有相应的互动事件,比如按钮的点击事件、单选框的值改变事件。此篇笔记用来记录关于事件绑定的相关内容。
2、如何绑定
我们可以在每个可互动组件的最下方添加该组件的事件函数,添加函数的方法是通过指定具体物体里的具体脚本中的具体public函数实现,这里以Toggle组件为例。
public Toggle toggle;
void Start()
{
toggle.onValueChanged.AddListener(ToggleTest);
}
private void ToggleTest(bool arg0)
{
Debug.Log(arg0);//值改变的时候都会执行[true/false]
}
我们可以看到事件的名称On Value Changed以及参数Bool,通过点击+号,可以为此事件添加函数。但在添加函数前,必须先将脚本挂在某个游戏物体上。 这里我创建了一个名为Test的脚本,并为它添加了一个名为TestMethod并带有一个bool类型参数的public函数,然后将它挂在了Canvas上。
接着点击+号,再把Canvas拖入物体栏中,这样我们就指定了具体物体。
接着点击“No Function”来指定函数。需要注意的是指定函数时,函数列表分为了两大块:Dynamic 和Static Parameters,这是根据参数类型来确定的,若选择Dynamic 区域函数,则会自动传入Toggle组件isOn的值,这样就能根据单选框是否勾选来做出进一步处理。当然也可以选择static的函数,这根据实际需要决定。(Button的Onclick事件没有参数,所以只有static Parameters函数)
接着运行游戏,点击单选框就会看到Console面板输出信息:
3、补充
当添加事件并指定物体后,我们可以看到关于该指定物体上挂载的所有组件和脚本中的public函数,除此之外还有GameObject类的public函数。在GameObject类中有一个SetActive函数,该函数是用来启用和禁用游戏物体的,若在Toggle的OnValueChanged事件中绑定该函数,即可实现用Toggle开关该游戏物体,从而实现点击标签开关页面的功能