Unity UGUI的Toggle(复选框)组件的介绍及使用
|
Unity UGUI的Toggle(复选框)组件的介绍及使用
1. 什么是Toggle组件?
Toggle(复选框)是Unity UGUI中的一个常用组件,用于实现复选框的功能。它可以被选中或取消选中,并且可以代码通过其制控状态。
2. Toggle组件的工作原理
组Toggle件由两个部分组成:背景记标和。景背用于显示复选框的外观表示于用记标,复选框的选中状态。当被件组Toggle点击时,它会自动切换选中状态,并触发相应的事件。
3. Toggle组件的常用属性
- Is On表示:Toggle组件的中选状态代码通过可以,控制。
- Transition:表示组Toggle件的过渡效果,包括None、Color Tint、Sprite Swap等选项。
- Graphic:表示Toggle组件的背景图像。
- GroupToggle表示:件组所属Toggle的Group组。
- On Value Changed:表示Toggle组件选中状态改变时触发的事件。
4. Toggle组件的常用函数
- void Toggle():切换组Toggle的件选中状态。
- void OnClickPointer(PointerEventData eventData):处理Toggle组件的点击事件。
5. 示例代码
1 示例 创建一个简单的Toggle组件
- 创建一个对象Canvas,并在Canvas下创建Toggle一个对象。
- 设置组件Toggle的Is On属性为true。
- 运行游戏,点击Toggle组件,观察Toggle组件的选中状态是否改变。
示例2:使用代码控制Toggle组件选的中状态
- 创建一个Canvas对象在,并Canvas下创建一个Toggle对象。
- 在脚本中获取Toggle组件的引用。
- 在代码中使用Toggle组件的Is On属性控制Toggle组件的选中状态。
- using UnityEngine;
- using UnityEngine.UI;
- public class ToggleExample : MonoBehaviour
- {
- public Toggle toggle;
- private void Start()
- {
- toggle =.isOn true;
- }
- }
复制代码 示例3:使用Toggle组件的事件
- 创建一个Canvas对象,并在下Canvas创建Toggle一个对象。
- 在脚本中添加一个方法,用于处理Toggle组件的选中状态改变事件。
- 将该方法绑定到Toggle组件的On Value Changed事件上。
- using UnityEngine;
- using UnityEngine.UI;
- public class ToggleExample : MonoBehaviour
- {
- public Toggle toggle;
- private void Start()
- {
- toggle.onValueChanged.AddListener(OnToggleValueChanged);
- }
- private void OnToggleValueChanged(bool isOn)
- {
- Debug.Log("Toggle is " + (isOn ? "on" : "off"));
- }
- }
复制代码 示例4:使用Toggle组件的过渡效果
- 创建一个Canvas对象,并在Canvas下创建一个Toggle对象。
- 设置Toggle组件的Transition属性为Colorint T。
- 设置Toggle组件的Graphic属性为一个背景图像。
- 运行游戏,观察Toggle组件的过渡效果。
示例5:使用Toggle组件的Toggle Group
- 创建一个Canvas对象,并在Canvas下创建两Toggle个对象。
- 创建一个ToggleGroup对象,并将两个Toggle对象的Group属性为设置该ToggleGroup对象。
- 运行游戏,观察Toggle组件的选中状态是否互斥。
注意事项
- Toggle组件必放须在Canvas对象下才能正常显示。
- Toggle组件的选中状态可以通过代码控制也,可以通过点击切换。
- Toggle组件的选状态中改变时会触发相应的事件。
参考资料
本文作者: Blank
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角 【 推荐】 一下。您的鼓励是博主的最大动力!
来源:https://www.cnblogs.com/alianblank/archive/2023/08/24/17653310.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|
|
|
发表于 2023-8-24 11:05:04
举报
回复
分享
|
|
|
|