我有4个输入字段,在每个字段中我需要输入一个名字。名称1,名称2,名称3,名称4.我的问题是我有一个类来获取输入字段中的文本,而其他类是我的经理,它处理发送通过网络从字段获取的数据。我的问题是我无法弄清楚如何存储我的所有字段。我现在在控制台中获得的是名称1 = 2,名称2 = 2。它必须是名称1 = 1,名称2 = 2。
public string name1;
public string name2;
public string name3;
public string name4;
public InputField input;
// Use this for initialization
void Start () {
}
// Called in Inputfield OnEndEdit Event.
public void OnEndEdit()
{
name1 = input.text;
name2 = input.text;
name3 = input.text;
name4 = input.text;
}
这是我的另一个剧本我的经理:
private InputFields inputFields;
void Start () {
inputFields = FindObjectOfType<InputFields>();
}
public void GetUserData ()
{
Debug.Log ("Message 1 " + inputFields.name1 + "Message 2 " + inputFields.name2 + " Message 3 " + "Message 4" );
}
}
所以,总结一下,我有4个UI输入字段,我只想从中获取文本并将它们存储在我的字符串中。 inputFields脚本附加到每个输入字段。
答案 0 :(得分:1)
使用数组。创建InputField
数组,然后您可以从其他脚本访问它,索引从0到3。
你赢得的整个字符串工作是因为当string
的值发生变化时,InputField
不会更新新值。这就是为什么你必须引用public class ScriptB : MonoBehaviour
{
public InputField[] input;
public void GetUserData()
{
Debug.Log("Message 1: " + input[0].text + "Message 2: " + input[1].text
+ " Message 3: " + input[2].text + "Message 4: " + input[3].text);
}
}
本身,它始终会输入新的值。
{{1}}
如果您需要注册活动,请参阅this发布。