unity3d中UIToggle相关组件的使用

UIToggle相关组件:

—–UIToggledObjects:通过toggle组件的value值来控制自定义的一些对象的开启关闭.—SetActive()

—–UIToggledComponents:通过toggle组件的value值来控制自定义的一些组件的开启关闭.—enable

适用:

分组toggle时,分别控制不同的对象,显示不同的东西.

原理解析:—–通过临时改变静态bool—UIToggle.current.value值,来调用UIToggle组件的onchange回调,回调为UIToggleObjects或者UIToggleComponents里的Toggle()方法.

特别注意:

这是临时改变的bool值,UIToggle.current.value与UIToggle组件的value值同步,控制所有toggle的value值.所以当临时改变时,修改后,一定要更改回来.

当隐藏组toggle对象时,再显示,会出现UIToggleObjects和UIToggleComponents组件的回调触发失效.

示例代码如下:

    public UIToggle[] tg_Menus; 
public UIToggledObjects[] tg_Objs;
public void Show(int id)
{
//tg_Menus[id].value = true;
if (!tg_Menus[id].value)
for (int i = 0; i < tg_Menus.Length; i++)
{
if (i == id)
{
tg_Menus[i].value = true;
UIToggle.current.value = true;
tg_Objs[i].Toggle();
}
else
{
UIToggle.current.value = false;
tg_Objs[i].Toggle();
}
}
UIToggle.current.value = true;
}

你可能感兴趣的:(unity3d基础,unity插件,unity3d小技巧)