除了 Unity 中的默认字符串和精灵值之外,如何向 Dropdown OptionData 添加更多 UI 元素?

Posted

技术标签:

【中文标题】除了 Unity 中的默认字符串和精灵值之外,如何向 Dropdown OptionData 添加更多 UI 元素?【英文标题】:How to add more UI elements to Dropdown OptionData except default string and sprite values in Unity? 【发布时间】:2021-10-13 22:31:35 【问题描述】:

我有一个 json 文件,其中包含有关国家/地区的一些信息。我的场景中有一个下拉菜单。在该下拉列表中,我显示了国旗和国名。我从该 json 文件中检索国家名称和标志路径。我的 json 文件:

我的县数据脚本:

我现在的看法是这样的:

到目前为止一切顺利。但是我想在那里再显示一个“字符串(或整数)”字段,但下拉元数据无法修改,它只允许我添加(字符串文本、Sprite 图像)。

下拉元数据:

在我目前的情况下,这些是国名,flagpaths。我想我应该能够做类似 OptionData(string text, Sprite image, string/int) 的事情,这样我就可以从我的 json 中检索“coinPlaces”值(这里是“1”)并在下拉菜单中显示它。 这就是我想要的样子:

在场景中,我可以将任何我想要的内容添加到 Dropdowns 模板中,如下所示:

但是,即使我可以从 json 中获取“coinPlaces”值,我也无法在下拉列表中显示它,因为我无法更改元数据。

【问题讨论】:

【参考方案1】:

当您创建此类的新实例时,您在 C# 中使用 constructor 来初始化默认值。所以不可能给算子加币值。

我认为这里最好的方法是让另一个类从这个元数据类继承

【讨论】:

以上是关于除了 Unity 中的默认字符串和精灵值之外,如何向 Dropdown OptionData 添加更多 UI 元素?的主要内容,如果未能解决你的问题,请参考以下文章

Unity Sprite Sheet 在 Android 设备上呈锯齿状

如何使用我的精灵强制 gwt?

如何在 Unity 4.3 中旋转精灵?

Unity - 如何掩盖精灵网格内的精灵?

vue组件事件中,想传除了默认值之外的其他的参数

关于Unity中的NGUI精灵