如何从两个下拉列表中获取价值并将它们与if进行比较?

问题描述 投票:0回答:1

[imagesample我是Unity和C#的新手。

  1. 我想从2个DropDown中获取价值,就像我上传的图像一样(每个DropDown都包含值“ a”和“ b”)
  2. 例如:DropDownLeft文本= a,DropDownRight文本= b,然后是“不匹配”,但是会出现“ a”和“ a”或“ b”和“ b”然后“ match”消息。

有没有简单的教程,我可以阅读类似的内容?

unity3d if-statement dropdown
1个回答
0
投票

首先,您需要两个下拉列表的引用,您可以像这样存储它:

Dropdown leftDropdown = null;
Dropdown rightDropdown = null;

然后,您需要每个下拉列表的当前值,您可以通过此操作进行检索:

int leftValue = leftDropdown.value;
int rightValue = rightDropdown.value;

最后,您需要比较这些值:

private void CompareValues(int newValue)
{
    int leftValue = leftDropdown.value;
    int rightValue = rightDropdown.value;

    if (leftValue == rightValue)
    {
        Debug.Log("Match!");
    }
    else
    {
        Debug.Log("Not Match!");
    }
}

但是您可能希望每次值更改时都进行比较,因此每个下拉列表的值每次更改时都需要调用前一个方法。最简单的方法是将您的方法订阅OnValueChanged事件,如下所示:

private void Awake()
{
    leftDropdown.onValueChanged.AddListener((newValue) => { CompareValues(newValue); });
    rightDropdown.onValueChanged.AddListener((newValue) => { CompareValues(newValue); });
}
© www.soinside.com 2019 - 2024. All rights reserved.