前文:https://blog.csdn.net/Jaihk662/article/details/87868676(Button按钮)
一、Toggle复选框简介
Toggle组成部分:
Toggle组件属性:
部分组件和Button组件相同,可以参考前文
- Is On:是否选中(无法通过Inspector面板直接改变实际状态,需要用代码控制)
- Target Graphic:对应着Toggle的背景图
- Graphic:对应着Toggle的选中图
2种监听方式和Button也一致,这里举个代码控制的例子如下:
- Toggle.onValueChanged.AddListener(方法名):复选框状态改变时调用方法,其中方法必须含有参数bool,表示是否被选中
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ButtonListen : MonoBehaviour
{
private Toggle open;
void Start()
{
open = GameObject.Find("Toggle").GetComponent<Toggle>();
open.onValueChanged.AddListener(GetDown);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.K))
open.isOn = false;
}
void GetDown(bool value)
{
Debug.Log("value值改变为" + value);
}
}
二、Toggle的一个例子
效果如下:
第一步:新建Toggle并将CheckMark设为Toggle的子物体而并非Background的子物体(也就是说要和Background同级)
第二步:修改图片
第三步:编写脚本,实现选中状态下隐藏Background
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ButtonListen : MonoBehaviour
{
private GameObject background;
private Toggle open;
void Start()
{
open = GameObject.Find("Toggle").GetComponent<Toggle>();
background = GameObject.Find("Background");
open.onValueChanged.AddListener(GetDown);
}
void Update()
{
if (open.isOn == false)
background.SetActive(true);
else
background.SetActive(false);
}
void GetDown(bool value)
{
Debug.Log("value值改变为" + value);
}
}