我有一个带有四个选项的下拉菜单,而且我也有切换方式,我想在选择某个选项时这样做,我打开一个特定的切换。这主要是试图找出下拉菜单。我只想知道如何说,当选择一个选项时,会发生这种情况。
我在代码
中声明了一个列表List<string> encryptions = new List<string>() { "Normal", "L337", "Character Shift", "DoubleCase", "No Vowels" };
答案 0 :(得分:2)
<强>这里:强>
创建一个DropDown并添加您在列表中提到的选项:
在此gameObject上添加以下脚本:
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:
创建一个切换组并相应地在其下切换:
将切换组组件添加到切换组对象和垂直布局组(可选):
在检查器中切换脚本数组中的切换:
你很高兴
干杯!
答案 1 :(得分:1)
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;
}
}
答案 2 :(得分:0)
您有点不清楚自己要做什么,但我想我明白您想要检测下拉列表何时发生变化。为此,只需使用Unity Inspector窗口中的On Value Changed
即可。您需要先在脚本中创建一个函数,然后将其附加到检查器中。 Read here了解更多详情。