Unity UGUI系列五 Toggle ToggleGroup
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity UGUI系列五 Toggle ToggleGroup相关的知识,希望对你有一定的参考价值。
参考技术A 参考Unity 3D UGUI Toggle用法教程
Is On :用来表示Toggle当前开关状态,勾选为开;
Graphic :控制Toggle组件开关图片的显示隐藏,默认选取Checkmark,就是那个勾勾图片;
挂上这个脚本,会发现事件中有一个带参数的,还有一个不带参数的:
虽然ListenInFunction是带参数的,但是却要选上面那个绿色不带参数的,刚开始我是懵逼的…………
参照 UGUI中Button和Toggle 添加动态事件 得到了解释:
选下方红色的静态方法,其实UI中会多出一个checkbox,可以指定传入的参数:
当然也可以传入其它类型,比如
参考
Unity UGUI入门组件整理(三)【Toggle组件与Toggle Group组件】
假如初始状态是Toggle3被勾选,当我点击Toggle1勾选时,打印如下:
这样就可以根据名字和选中状态来做逻辑处理了。
是否允许不打开任何开关?如果启用此设置,则按下当前打开的开关会将其关闭,因此没有任何开关处于打开状态。如果禁用此设置,则按下当前打开的开关将不改变该开关的状态。
这个说的有点绕,并且有些博客上还有种错误的说法,就是这个开关能允许Group多选。其实测试一下就知道了,在勾选Allow Switch off时,点击当前选中的Toggle,可以将当前Toggle改成未选择状态,此时整个Group中所有的Toggle都会处于未选择状态。而如果没勾选Allow Switch off,就达不到这个效果,会强迫你必须选一个。
在官方文档中,描述ToggleGroup叫开关组:
UGUI学习笔记(五) ToggleGroup制作选择题单选框
Unity UGUI - Toggle 切换开关
Toggle - 切换开关
Toggle 组合按钮(单选框),可以将多个 Toggle 按钮加入一个组(Toggle Group),
则它们之间只能有一个处于选中状态(Toggle 组合不允许关闭的话)。
Toggle 组件
Toggle 大部分属性等同于 Button 组件,同为按钮,不同的只是它自带了组合切换功能,当然这些用 Button 也是可以实现的。
Is On(选中状态):这个 Toggle 的选中状态,设置或返回一个 bool。
Toggle Transition(切换过渡):None 为无切换过渡,Fade 为切换时 Graphic 所指目标渐隐渐显。
Group(所属组合):这里指向一个带有 Toggle Group 组件的任意目标,将 Toggle 加入该组合,
之后 Toggle 便会处于该组合的控制下:同一组合内只能有一个 Toggle 可处于选中状态,
即便是初始时将所有 Toggle 都开启 Is On,之后的选择也会自动保持单一模式。
On Value Change(状态改变触发消息):当 Toggle 选中状态改变时,触发一次此消息。
Toggle Group 组件
带有这个组件的物体,可以同时管理多个 Toggle,将需要被管理的 Toggle 的 Group 参数指向 Toggle Group 就可以了。
Allow Switch Off(是否允许关闭):Toggle Group 组默认有且仅有一个 Toggle 可处于选中状态(其管理的所有 Toggle 中),
如果勾选这个属性,则 Toggle Group 组的所有 Toggle 都可同时处于未选中的状态。
Toggle 与 Toggle Group 的巧用
在场景中新建一个 Canvas,添加几个 Image 和 Text,具体层次关系如图:
给 Toggle-1~3 添加 Toggle 组件,并把 ClickBg 拖拽到 Graphic 属性上,作为选中后的显示状态。
再创建三个相对应颜色的 Image,选取一个进行显示,其他全部隐藏。
接着给 Bg 添加 Toggle Group 组件,对它下面的三个 Toggle 进行管理,让其中一个处于默认选中的状态。
然后依次给每个 Toggle 添加状态改变触发事件,选择相对应的 Image。
这样,当 Toggle 状态改变的时候就能切换到相对应的 Image 进行显示。
Finish
以上是关于Unity UGUI系列五 Toggle ToggleGroup的主要内容,如果未能解决你的问题,请参考以下文章