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