代码之家  ›  专栏  ›  技术社区  ›  Akash Agarwal

如果两个输入字段具有相同值,则进行统一比较

  •  1
  • Akash Agarwal  · 技术社区  · 11 年前

    我怎样才能做到这一点?一个函数在Unity中只能接受一个参数。 我想比较同一画布中的两个不同输入字段。 我假设这可以使用object作为参数来完成,但我不知道可以传递哪个对象。我尝试将画布和输入字段gameObject(我猜这就是它的名称)拖到所选函数的object参数字段,但它们没有被接受。

    这是我要附加脚本的位置:-
    enter image description here

    1 回复  |  直到 11 年前
        1
  •  1
  •   Cenkisabi    11 年前

    InputFields不是GameObject。它们是UI的对象。InputField类。因此,在脚本导入UI中

    #using UnityEngine.UI;
    

    然后创建2 InputField对象。

    public InputField inp1;
    public InputField inp2;
    

    然后将InputFields拖到它们上。然后你可以这样比较他们的文本:

    if( inp1.text == inp2.text) {}
    

    编辑:您不应该将脚本附加到那里,因为变量可能会动态变化。将我编写的这个脚本附加到一个空游戏对象上,在下面的脚本中添加新的代码段,然后将这个空游戏对象附加到您显示的事件字段中。然后,您应该选择编辑结束时将调用的函数。为此,在脚本中为每个输入字段创建两个不同的函数,如下所示:

    //Call this on EndEdit for inputField1
    public void InpField1EndEdit()
    {
        //compare input fields here or make what you want
    }
    
    //Call this on EndEdit for inputField2
    public void InpField2EndEdit()
    {
        //compare input fields here or make what you want
    }