【Unity3D-UGUI系列】(十一)Toggle 开关组件详解
游戏
1307 人阅读
|
0 人回复
|
<
1、媒介
起首,引见一个UGUI,NGUI是UGUI的前身,Unity开辟团队将NGUI的开辟团队支到本人开辟团队下,而且由此开辟了UGUI。
UGUI体系是从Unity 4.6版本后才开端散成到Unity编纂器中。
UGUI的特性:
关于开辟者来讲有许多的长处,好比道:
- 服从下
- 完成结果好
- 易于利用战拓展
- 取Unity编纂器的兼容性下
那是本系列文章的第十一篇:
【Unity3D-UGUI系列】(一)Canvas 绘布组件详解
【Unity3D-UGUI系列】(两)Text文本组件详解
【Unity3D-UGUI系列】(三)Button 按钮组件详解
【Unity3D-UGUI系列】(四)Image 图片组件详解
【Unity3D-UGUI系列】(五)RawImage 显现纹理组件详解
【Unity3D-UGUI系列】(六)Panel 容器组件详解
【Unity3D-UGUI系列】(七)Dropdown 下推菜单组件详解
【Unity3D-UGUI系列】(八)InputField 输进框组件详解
【Unity3D-UGUI系列】(九)Scrollbar 转动条组件详解
【Unity3D-UGUI系列】(十)Slider 滑动条组件详解
【Unity3D-UGUI系列】(十一)Toggle 开闭组件详解
【Unity3D-UGUI系列】(十两)ScrollView 转动视图组件详解
2、Toggle 开闭组件引见
Toggle 开闭组件望文生义,便是用去模仿掌握开辟的组件。
次要利用的场景有,开闭声音、开闭灯光等。
Toggle用法跟Button很类似,皆是面击按钮呼应变乱,可是Toggle取Button比拟能够愈加便利的模仿理想中的开闭变乱。
上面便新建一个Toggle组件去具体理解一下它的属性:
正在Unity的Hierarchy视图当选择“Create→UI→Toggle”新建一个Toggle组件:
Toggle组件正在Hierarchy视图中的层级构造以下图所示:
工具引见ToggleToggle组件Background开闭的布景Checkmark选中记载Label显现笔墨上面便具体的理解一下Toggle组件的属性吧。
3、Toggle 开闭组件属性
出有Image组件,布景放到子工具Background停止设置。
Interactable、Transition、Navigation跟Button组件是类似的,Button教程中有具体注释。
上面便看Toggle组件独占的属性:
属性引见Is On开闭按钮Toggle TransitionToggle过渡Graphic用去掌握 Toggle 开闭图片的显现/躲藏Group用去暗示 Toggle 所属开闭组/群(后边会讲到)On Value Changed监听变乱,值改动时挪用属性出有太多灾面,次要讲一下怎样利用代码监听Toggle的切换,和Toggle Group组的用法。
4、Toggle代码监听
代码:
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- public class ToggleTest : MonoBehaviour
- {
- private Toggle m_Toggle;//获得到Toggle组件
-
- void Start()
- {
- //找到组件
- m_Toggle = GameObject.Find("Toggle").GetComponent<Toggle>();
- //静态增加监听
- m_Toggle.onValueChanged.AddListener(ToggleOnValueChanged);
- }
- //监听变乱
- private void ToggleOnValueChanged(bool isOn)
- {
- if (isOn)
- {
- Debug.Log("开");
- }
- else
- {
- Debug.Log("闭");
- }
- }
- }
复造代码 运转成果:
5、Toggle Group组的用法详解
正在利用Toggle组件的时分,会碰到如许一个成绩,好比道多个按钮,可是只能单选一个。
大概面击差别的Toggle切换差别的界里,那个时分便用到了Toggle Group。
那个能够完成单选、换页、切换背包等功用。
起首,我们新建几个Toggle,然后没有增加Toggle Group组看一下结果:
然后,给Canvas工具增加Toggle Group组件,将3个Toggle的Group设置为Canvas:
再次运转法式:
变成单选了。
接下去,我用一个真例去演示怎样停止换页。
起首,新建三个Toggle,然后新建三个Image做一个简朴的白绿蓝色彩变动,摆放UI以下图所示:
给Canvas增加Toggle Group组件,然后将三个Toggle的Group设置为Canvas:
编写代码:
[code]using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class ToggleTest : MonoBehaviour{ private Toggle[] m_Toggle; private Image[] m_Image; void Start() { //找到组件 m_Toggle = new Toggle[3]; m_Toggle[0] = GameObject.Find("Toggle").GetComponent(); m_Toggle[1] = GameObject.Find("Toggle (1)").GetComponent(); m_Toggle[2] = GameObject.Find("Toggle (2)").GetComponent(); m_Image = new Image[3]; m_Image[0] = GameObject.Find("Image").GetComponent(); m_Image[1] = GameObject.Find("Image (1)").GetComponent(); m_Image[2] = GameObject.Find("Image (2)").GetComponent(); //静态增加监听 m_Toggle[0].onValueChanged.AddListener((isOn) => ToggleOnValueChanged(isOn, 0)); m_Toggle[1].onValueChanged.AddListener((isOn) => ToggleOnValueChanged(isOn, 1)); m_Toggle[2].onValueChanged.AddListener((isOn) => ToggleOnValueChanged(isOn, 2)); } private void ToggleOnValueChanged(bool isOn, int index) { //其他页躲藏 for (int i = 0; i <span class="token operator"> |
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
|
|
|
|
|