18

我正在尝试在 inputField 中获取Unity3D文本C#

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

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

4

3 回答 3

40

将下面的 monobehaviour 脚本附加到您的 InputField 游戏对象:

public class test : MonoBehaviour {
    void Start ()
    {
        var input = gameObject.GetComponent<InputField>();
        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);
    }
}

另请参阅下面的动画:

在此处输入图像描述

于 2015-02-02T08:22:28.093 回答
4

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

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

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

于 2015-02-02T07:54:10.710 回答
1
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

于 2018-08-12T11:46:49.910 回答