unity的toggle控件

大家好,今天介绍一下toggle,本人是unity新手,欢迎大家拍砖,toggle类似按钮,但是toggle有一个特点,可以成组操作,比如把5个toggle放在一组,点击其中一个,其他的则显示已经转移,那么怎么实现呢,完全不需要代码,需要的是unity的inspector的操作,当你在uinty的gameobject选择ui,toggle创建多个之后,创建一个空对象,即gameobject-enemy对象,然后再这个空对象点击Add Component,添加Toggle Group。

然后将所有的想分成一组的toggle拖动到空对象,enemy对象下,成为子节点,然后给toggle的inspector的Group接口赋值,即把空对象,enemy拖动到Group接口中,这样,被拖动到一个空对象的所有toggle为一组。

下面就是使用代码操控toggle点击背后的逻辑,里用改变一张image颜色实例,有两种方法,一种是调用inspector的OnValueChanged,另一种是完全使用代码,然后挂载到toggle上,第一种也需要代码,要把你写的代码先挂在到一个控制器,及一个空对象,enemy,一般enemy都用来实现逻辑,当然这空对象也存在于场景中,点下OnValueChanged的加号,在选择器选择场景对象enemy,然后再function选择你写好的函数,就可以了,第二种是纯手写代码,代码如下,

[SerializeField] private Toggle m_toggle;
    [SerializeField] private Image m_image;


 // Use this for initialization
 void Start () {
        m_toggle.onValueChanged.AddListener(DoChangeImageColor);
       
 }

    public void DoChangeImageColor(bool Value)
    {
        if (Value == true)
        {
          //  GameObject obj = GameObject.Find("Image");
            m_image.color=Color.black;
           
            m_image.gameObject.SetActive(true);
           
        }
    }

挂在到Inspector的加号的函数如下

public void SettoggleOne(bool Value)
    {
        m_image.color = Color.yellow;
    }

猜你喜欢

转载自blog.csdn.net/anzijian1993/article/details/82811086
今日推荐