Toggle初接触

Toggle初接触

就在前前个月,因为需要用到一个多个选项单个选中的功能(不可都不选),百度到了UGUI自带的Toggle组件,自己尝试了下,被挫败了。
在前几天的案例中,终于再次接触到了此组件,有所领悟。

首先看UI面板的设置:红圈为三个有效按钮组件,IconHolder为管理父物体
此为Canvas界面下,IconHolder为按钮的父物体图二图三
首先,在(多个并想要一起监控的)按钮上添加Toggle组件,然后在IconHolder上添加ToggleGroup组件,将IconHolder拖拽到三个按钮Toggle组件下的Group一栏中,并将IconHolder的ToggleGroup组件的Allow Switch Off取消勾选,这样就会形成只要在这个Group里的按钮必须有一个保持激活的状态效果。

配合Group组件下的Onvaluechanged功能,写下如下对接代码

	[Header("道具范围提示效果")]
	///该三个为直接拖拽的带动画组件的游戏物体。
    public GameObject hoeSelected;
    public GameObject tntSelected;
    public GameObject mapSelected;
    
	//按下HoeIcon按钮,动态改变isON,下面两个方法同理。
	public void OnHoeSelected(bool isOn)
    {
        AudioManager.Instance.PlayClip(AudioManager.Instance.button);
        GameManager.Instance.hoeSelected.SetActive(isOn);
    }

    public void OnTntSelected(bool isOn)
    {
        AudioManager.Instance.PlayClip(AudioManager.Instance.button);
        GameManager.Instance.tntSelected.SetActive(isOn);
    }

    public void OnMapSelected(bool isOn)
    {
        AudioManager.Instance.PlayClip(AudioManager.Instance.button);
        GameManager.Instance.mapSelected.SetActive(isOn);
    }

在我们的逻辑要求下,这三个按钮必有一个是激活状态,可以互相切换(一开另一个关)。
会交替播放三个音效,交替激活(关闭)三个游戏物体。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值