首页 > 解决方案 > Unity Dropdown 首次显示重复的文本

问题描述

我遇到了这个问题,我有一个下拉菜单,应该说财务、库存和统计数据。当您单击它时,会出现其他 UI 面板。现在由于某种原因,它所说的选项都是金钱:(这是第一个选项的第一个项目名称)。这是为什么?我在下面附上了图片,显示了我的意思。抱歉链接我还没有足够高的代表

金钱的重复文本

^ 的另一个例子

我的标签

下拉设置

标签: unity3duser-interface

解决方案


让我们仔细看看你的第三张和第四张图片,并将它们与默认的 Dropdown UI 元素进行比较。

在此处输入图像描述

所以在你的第三张图片中,你展示了一个类似的树,但是模板游戏对象发生了什么?看来您删除了它并用财务游戏对象替换它。这是你的首要问题。您不能删除下拉游戏对象的此模板游戏对象部分。模板由下拉代码使用,以进一步确定您在游戏中将看到的下拉菜单的样式,并为您提供一个模板供您查看。我不知道它是如何工作的所有内部原理,但我知道它肯定会在你的问题中发挥作用。

在此处输入图像描述

我知道这一点,因为现在看看我的 Dropdown 组件。查看Template我的字段并将其与您的字段进行比较。您的填写的是财务而不是模板,这就是您的下拉菜单填充财务字段而不是您尝试传递的值的原因。

这是我建议你做的。我假设 FinancesTab、InventoryTab 和 StatsTab 都是您希望在单击相应的下拉项时打开的 UI 元素。如果是这样的话:

  1. 创建一个新的下拉游戏对象
  2. 不要删除其中的模板游戏对象,并将下拉游戏对象中的模板字段保持原样
  3. 为 Dropdown GameObject 添加对每个 UI 元素(将它们放在公共字段中)使用 SetActive 函数的脚本
  4. Set this code up so that when a certain item on the Dropdown is selected, it sets the desired UI Tab toSetActive(true);
  5. 现在在 OnValueChanged(Int32) 字段中引用新脚本,并在 OnValueChanged(Int32) 字段的下拉菜单中引用该脚本中的正确方法。

我相信这应该可以解决您的问题并帮助您实现您想要的。如果我的步骤令人困惑,请查看Dropdown API和这个关于 Dropdowns 的Youtube 教程。通过遵循这两个链接,您绝对可以实现您想要的(这就是我想出来的!)。

希望这可以帮助!


推荐阅读