Как ссылаться на 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(), Гораздо лучше, чем жестко закодированные имена объектов.

Другие вопросы по тегам