Unity多个Toggle监听事件

      首先肯定创建多个Toggle,然后用Toggle Ground进行只能一个点击的效果

//找到所有的toggle 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class RemoverLevelInform : MonoBehaviour
{

    private Toggle[] toggles;

    // Start is called before the first frame update
    void Start()
    {
        //找到所有的toggles
       toggles=transform.GetComponentsInChildren();
        //给toggle添加事件
        for (int i = 0; i < toggles.Length; i++)
        {
            //这一步是必须记录的,用来区分那个toggle
            int K = i;
            toggles[K].onValueChanged.AddListener((bool value) => SetEveryToggle(value, K));
        }
    }
void SetEveryToggle(bool value, int j)
    {
        if (j == 0 && value)
        {
            Debug.Log("第一个toggle");
        }
        if (j == 1 && value)
        {
            Debug.Log("第二个toggle");
        }
        if (j == 2 && value)
        {
            Debug.Log("第三个toggle");
        }
    }

 

你可能感兴趣的:(Unity学习)