unity中Toggle组件的使用心得

这篇博客分享了作者在使用Unity游戏引擎时对Toggle组件的心得,特别是在处理多个Toggle组成开关组的情况。作者强调了ToggleGroup的重要性和如何通过脚本根据isOn属性选择对应选项。在遇到事件处理问题后,作者发现了OnValueChanged()函数的关键作用,解决了多选一的问题,实现所需功能。
摘要由CSDN通过智能技术生成

使用unity也有很长一段时间了,个人觉得unity这款引擎学习起来还是比较容易的,但是对于一些初学者来说,可能有些困难。我初学unity时也遇到很多问题,尽管现在看起来很简单,但是对于那个时候的我来说还是有难度的。我猜测一定有和我一样遇到同样问题的unity学习者,今天写下我对unity组件中的一种组件---Toggle的心得。

Toggle(开关)是Unity中UGUI里面的一个组件。一般用于做单选开关。比如写一个飞机大战的游戏,我们选择战机就可以用到这个组件。那么我今天讲的不是一个toggle,而是多个toggle在一起的情况,那么我们就需要用到ToggleGroup(开关组)这个组件了。效果图如下:

在unity里面制作开关组还是很简单的,我这里就不细说。我要说的是怎样通过脚本根据isOn的值来选择对应的飞机。大家都知道toggle组件有个isOn的属性,勾选上表示开关组当前启用的是这个toggle,没启用的都是没有勾选isOn的。如图:

这是最终效果图。但是真的这么简单吗?这里面还是有点东西的!

您可以使用UnityToggle组件来根据类型分类背包。您需要为每个类型创建一个Toggle,并为每个Toggle添加一个事件侦听器。在事件侦听器,您可以获取Toggle的状态并根据其值显示或隐藏相应类型的物品。 具体步骤如下: 1. 在背包创建Toggle组件,为每个类型创建一个Toggle。 2. 为每个Toggle添加一个事件侦听器。在事件侦听器,获取Toggle的状态(选或未选)。 3. 根据Toggle的状态,显示或隐藏相应类型的物品。您可以使用SetActive()方法来控制物品的显示或隐藏。 示例代码: ```c# public class Inventory : MonoBehaviour { public GameObject[] items; // 所有物品 public Toggle toggleType1; // 类型1的Toggle public Toggle toggleType2; // 类型2的Toggle void Start() { toggleType1.onValueChanged.AddListener(delegate { ToggleType1(toggleType1); }); toggleType2.onValueChanged.AddListener(delegate { ToggleType2(toggleType2); }); } void ToggleType1(Toggle toggle) { foreach (GameObject item in items) { if (item.GetComponent<Item>().type == ItemType.Type1) { item.SetActive(toggle.isOn); } } } void ToggleType2(Toggle toggle) { foreach (GameObject item in items) { if (item.GetComponent<Item>().type == ItemType.Type2) { item.SetActive(toggle.isOn); } } } } ``` 在上面的示例,我们为每个Toggle添加了一个事件侦听器并分别调用了ToggleType1()和ToggleType2()方法。在这些方法,我们遍历了所有物品并根据其类型显示或隐藏它们。注意,在这里我们假设每个物品都有一个ItemType枚举类型的属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值