Получить текст из поля ввода в Unity3D с помощью C#

Я пытаюсь получить текст внутри inputField в Unity3D с C#.

Я разместил inputField в моем редакторе, переименован и помечен:Username_field.

мой вопрос: Как я могу получить текст внутри InputField Username_field на C# сценарий?

3 ответов


прикрепите ниже сценарий 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);
    }
}

Смотрите также анимацию ниже:

enter image description here


вы можете использовать событие "On Value Change" или "End Edit".

документация Unity3D предоставляет более подробную информацию о том, как использовать UnityEvent:http://docs.unity3d.com/Manual/UnityEvents.html

кроме того, вы также должны иметь доступ к тексту с помощью свойство Text элемента управления Text ваш InputField прикреплен.


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