Get text from Input field in Unity3D with C#

前端 未结 3 1940
情书的邮戳
情书的邮戳 2020-12-10 02:16

I\'m trying to get a text inside an inputField in Unity3D with C#.

I\'ve placed an inputField in my editor, renamed and tagged in:

相关标签:
3条回答
  • 2020-12-10 02:46

    Attach below monobehaviour script to your InputField gameObject:

    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);
        }
    }
    

    See also below animation:

    enter image description here

    0 讨论(0)
  • 2020-12-10 02:55
    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 //This is unity Picture where you select method. Also worth checking out https://unity3d.com/learn/tutorials/topics/scripting/text-input

    0 讨论(0)
  • 2020-12-10 03:04

    You can use the "On Value Change" or "End Edit" event of the InputField.

    The Unity3D documentation provides more detail on how to use a UnityEvent: http://docs.unity3d.com/Manual/UnityEvents.html

    Alternatively, you should also be able to access the Text using the Text property of the Text control that your InputField is attached to.

    0 讨论(0)
提交回复
热议问题