Unity Toggle与Toggle Group的妙用

Toggle与Toggle Group结合使用,妙处多多。

因为在同一Toggle Group内只有一个Toggle可以被选中,那么对于我们要创建单选按钮组、游戏的一些开关、暗夜模式、筛选不同显示内容等功能都非常好用。

比如我要实现通过点击不同按钮,从而筛选显示不同内容,可以这样实现:

1、在场景中创建1个Toggle,修改名称为:sword。然后把其中的Checkmark(即Toggle选中后显示的图标)中Image的Color修改为其它颜色。复制两个同样的Toggle,分别修改它们名称为:knife、bow。然后再修改Toggle下文本(Label),名称为:剑、刀、弓箭,调整它们的大小和位置,最终效果如下图:

请添加图片描述

2、新建一个空物体,修改名称为selectWeapon,再空物体上添加Toggle Group组件,把步骤1中创建的所有Toggle拉到selectWeapon物体,作为它的子物体,如图所示:

请添加图片描述

3、把添加了Toggle Group组件的物体,拉到所有Toggle中的Group属性中,如图:

请添加图片描述

4、创建一个Image,作为按钮点击时切换显示不同的内容的视图,如图:

请添加图片描述

5、通过脚本动态监控Toggle状态的变化:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ToggleController : MonoBehaviour
{
    public Toggle[] tog;
    public Image img;
    public Sprite[] sprs;
    // Start is called before the first frame update
    void Start()
    {
        tog[0].onValueChanged.AddListener(delegate {
            if(tog[0].isOn)
            {
                img.sprite = sprs[0];
            }
        });
        tog[1].onValueChanged.AddListener(delegate {
            if (tog[1].isOn)
            {
                img.sprite = sprs[1];
            }
        });
        tog[2].onValueChanged.AddListener(delegate {
            if (tog[2].isOn)
            {
                img.sprite = sprs[2];
            }
        });
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

其中tog为我们创建的Toggle组,img为按钮切换显示图标,sprs为切换的精灵组。把脚本拉到场景中,如图配置:

请添加图片描述

至此我们就可以通过不同的Toggle控制显示不同内容了。

Unity Toggle与Toggle Group的妙用

  • 15
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不在同一频道上的呆子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值