以编程方式更改Unity3D中的下拉菜单选项

时间:2015-10-26 13:03:53

标签: c# unity3d dropdown

我获得了Unity3D 5.2并首次使用了Dropdown GUI元素。它很容易在insepctor中使用,但我想要显示选项,取决于我在Resources / Shapes /

中的文件

因此下拉列表应显示我在Resources / Shapes /中获得的所有文件名,但我无法在附加的C#脚本中获取此属性。 阅读下拉手册后,应该有一个名为"选项"它应该有一个字符串和一个图像变量。 (所以我理解它的二维数组类型)

不幸的是我不能使用以下脚本(伪代码,因为它不起作用)

GameObject obj = GameObject.Find("Dropdown");

var info = new DirectoryInfo("Assets/Resources/Shapes");
var fileInfo = info.GetFiles();
foreach (var file in fileInfo)
{
    //Add OptionsString Pseudo-Code
    obj.Options += file; // Options doesnt exist
}

任何人都可以向我解释如何在我的Dropdown菜单上操作Options属性,我无法在google中找到任何内容。只有在Unity拥有内置下拉菜单之前的旧方法

提前致谢

2 个答案:

答案 0 :(得分:6)

List<string> list = new List<string> { "option1", "option2" };
var dropdown = GetComponent<Dropdown>();
dropdown.options.Clear();
foreach (string option in list)
{
    dropdown.options.Add(new Dropdown.OptionData(option));
}

答案 1 :(得分:3)

找到答案:

Dropdown.OptionData list = new Dropdown.OptionData("Name");
obj.GetComponent<Dropdown>().options.Add(list);