使用C#从Unity3D的输入字段中获取文本

我正在尝试使用C#Unity3D的inputField中获取文本。

我在我的编辑器中放置了一个inputField,重命名并标记为: Username_field

我的问题是:如何在C#脚本中获取InputField Username_field中的文本?

将monobehaviour脚本下方附加到InputField gameObject:

 public class test : MonoBehaviour { void Start () { var input = gameObject.GetComponent(); var se= new InputField.SubmitEvent(); se.AddListener(SubmitName); input.onEndEdit = se; //or simply use the line below, //input.onEndEdit.AddListener(SubmitName); // This also works } private void SubmitName(string arg0) { Debug.Log(arg0); } } 

另见动画:

在此处输入图像描述

您可以使用InputField的“On Value Change”或“End Edit”事件。

Unity3D文档提供了有关如何使用UnityEvent的更多详细信息: http ://docs.unity3d.com/Manual/UnityEvents.html

或者,您还应该能够使用InputField附加到的Text控件的Text属性来访问Text。

 using UnityEngine.UI; public InputField betInput; void Start () { betInput.onEndEdit.AddListener(delegate { inputBetValue(betInput); }); } public void inputBetValue(InputField userInput) { betValue = int.Parse(userInput.text); Debug.Log(userInput.text); } 

https://i.stack.imgur.com/CeF1a.png //这是您选择方法的统一图片。 还值得一试https://unity3d.com/learn/tutorials/topics/scripting/text-input