我有一个下拉菜单有四个选项,我也有如何切换,我想这样做当我选择一个特定的选项,我打开一个特定的切换。主要是试图找出下拉菜单。我只想知道怎么说,当选择一个选项时,会发生这种情况。如何绑定与切换组的下拉菜单
我宣布在代码
List<string> encryptions = new List<string>() { "Normal", "L337", "Character Shift", "DoubleCase", "No Vowels" };
我有一个下拉菜单有四个选项,我也有如何切换,我想这样做当我选择一个特定的选项,我打开一个特定的切换。主要是试图找出下拉菜单。我只想知道怎么说,当选择一个选项时,会发生这种情况。如何绑定与切换组的下拉菜单
我宣布在代码
List<string> encryptions = new List<string>() { "Normal", "L337", "Character Shift", "DoubleCase", "No Vowels" };
这是一个有点不清楚你想要做什么的清单,但我想我明白你希望在下拉列表改变来检测。为此,只需使用Unity Inspector窗口中的On Value Changed
即可。您需要先在脚本中创建一个函数,然后将其附加到检查器中。 Read here了解更多详情。
InputField有OnValueChanged事件。它可以传递一个Int32,但是这个是静态的。你需要的是输入字段的值。
首先,你需要输入字段引用您的项目,然后你使用它时,该事件被称为:
public InputField inputField = null;
public void OnValueChanged(Int32 i)
{
int value = this.inputField.value;
switch(value){
case 0:
break;
case 1:
break;
}
}
这里:
创建一个DropDown并添加您提到的选项您的列表:
添加下面的脚本在这个游戏对象:
public class DropDownToToggle : MonoBehaviour
{
public Toggle[] toggles;
public void OnDropDownValueChanged(int index)
{
if (toggles.Length == 0 || index > toggles.Length)
{
return; // Toggles are not assigned from inspector.
}
for (int i = 0; i < toggles.Length; i++)
{
toggles[i].isOn = (i == index);
}
}
}
分配事件处理程序OnValueChanged在下拉列表:
下它相应地创建切换组和切换:
添加肘节组分量切换组对象和垂直布局组(可选):
指定在检查器中切换脚本数组中的切换:
,你是好去
干杯!