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组件的选状态中改变时会触发相应的事件。
参考资料
[*]Unity官方文档:Toggle
本文作者: Blank
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角 【 推荐】 一下。您的鼓励是博主的最大动力!
来源:https://www.cnblogs.com/alianblank/archive/2023/08/24/17653310.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页:
[1]