Как ссылаться на InputField в Unity 5, используя C#
Я хочу сослаться на InputField
в Unity 5 с использованием C#, но не могу понять, как это сделать.
Моя цель - взять текст из InputField
когда кнопка нажата и используется этот текст в качестве переменной в других частях проекта.
Я пытался использовать GameObject.Find("IPInput").GetComponent<Text>();
но это не похоже на работу. я использую UnityEngine.UI
так что это не так.
1 ответ
Я думаю, что вы путаете статический Text
компонент с InputField
, Попробуй это:
InputField field = GameObject.Find("IPInput").GetComponent<InputField>();
Debug.Log(field.text);
Примечание: не очень эффективно выполнять запросы по имени GameObject, поэтому в зависимости от того, что вы делаете, вы можете просто добавить это поле в свой компонент, обрабатывающий нажатие кнопки:
public InputField field;
Затем перетащите поле ввода туда в инспекторе, и вам не придется вызывать GameObject.Find()
или же GetComponent()
, Гораздо лучше, чем жестко закодированные имена объектов.