Задать вопрос
Dan83
@Dan83
Программист самоучка, разработчик одиночка

Получить ввод игрока в inputfield в Unity 6?

Доброго времени суток! Я извиняюсь за какой то детский вопрос, но решения в интернете, видимо, дается на другую версию Юнити.
Итак, игрок вводит слово, далее его надо получить и проверить на правильность, далее какие либо действие с ним.
Но правильно получить его я не не могу!

В интернете есть подобные решения:

public class Someclass : MonoBehaviour 
    {
              InputField field; // вставь сюда через инспектор
 
              public void SomeMethod()
              {
                  if (field.text == "1") Debug.Log(field.text)
              }
        }


Но в инспекторе его не видно! Но и InputField содержит TextMeshProUGUI

Но если сделать так:

public TextMeshProUGUI InputPlayer;

Debug.Log(InputPlayer);

Debug.Log(InputPlayer.ToString());


Да, я указал его в инспекторе, не забыл.

То выводится GameObject

Естественно, я не могу его сравнить и тд, и тп.

Хотя в инспекторе то там буквы!

Что я делаю не так и как исправить? Спасибо!
  • Вопрос задан
  • 16 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Академия Эдюсон
    Разработчик игр на Unity + ИИ
    6 месяцев
    Далее
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • XYZ School
    C# для разработки игр
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
Debug.Log(InputPlayer) печатает имя объекта, текст надо брать через .text. Но ты, видимо, перетащил дочерний Text (TMP), а у него в конце строки сидит невидимый символ ​, так что сравнение с "1" всё равно не сработает. Заведи поле
[SerializeField] private TMP_InputField inputPlayer;
(using TMPro;), в инспекторе кинь в него сам объект Input Field (TMP) и сравнивай inputPlayer.text.Trim(). Старый InputField из примеров в инспекторе не виден, потому что поле приватное без [SerializeField], да и в TMP-сцене там другой компонент.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы