Unity比较两个输入字段是否具有相同的值

时间:2015-09-13 04:27:36

标签: c# unity3d

我怎样才能做到这一点?对于事件,函数在Unity中只能使用1个参数。 我想在同一个画布中有两个不同的输入字段,我想比较一下。 我假设这可以使用object作为参数来完成,但我不知道我可以传递哪个对象。我尝试拖动画布并输入字段gameObject(我猜测它被调用的内容)到我选择的函数的对象参数字段但它们不被接受。

这是我要附加脚本的地方: -
enter image description here

1 个答案:

答案 0 :(得分:1)

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
}