2015-09-13 59 views
1

如何实现此目的?一个函数在Unity中只能使用1个参数来处理事件。 在我想比较的同一画布中有两个不同的输入字段。 我假设这可以使用对象作为参数完成,但我不知道我可以通过哪个对象。我尝试拖动画布和输入字段gameObject(我猜这就是它的名称)到我选择的函数的对象参数字段,但它们不被接受。如果两个输入字段具有相同的值,则统一比较

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

+0

您要拖到哪里?我并不熟悉Unity中的任何地方,你可以将GameObject作为*参数*,只作为一个字段。 (也许你指的是我还没有玩过的一些图形用户界面的东西,增加清晰的问题将有所帮助。) – 31eee384

+0

@ e1eee384我相信他意味着他将它作为变量添加在检查员 –

+0

@ e1ee384我是尝试将它们拖到第二个输入字段的OnValueChange事件调用的方法的参数。我使用Unity 5.而且我非常确定这是错误的。 –

回答

1

InputFields不是游戏对象。它们是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 
} 
+0

我应该在哪里放置这个脚本? –

+0

没关系。你可以把它放到一个空的游戏对象或主相机上。 – Cenkisabi

+0

我添加了一个我要附加脚本的截图。如果我将它附加到那里,我看不到可以拖放输入框的选项。 –

相关问题