Как получить компонент Dropdown? - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть Canvas с панелью, и я положил под панель связку выпадающих меню вместе со скриптом.

В скрипте я пытался получить выпадающие меню с помощью

GetComponent<Dropdown>();
GetComponentInChildren<Dropdown>();
GameObject.Find("Range").GetComponent<Dropdown>();    //"Range" is the name of the Dropdown menu GameObject.
GetComponents<Dropdown>();
GetComponentsInChildren<Dropdown>();
GameObject.Find("Range").GetComponents<Dropdown>();    //"Range" is the name of the Dropdown menu GameObject.
.
.
.

И это "ВСЕ" вернулось null!

Может ли кто-нибудь быть таким добрым и сказать мне, где я поступил неправильно, и научить меня правильному способу сделать это, пожалуйста!?

PS. Я не хочу устанавливать каждый отдельный раскрывающийся список как [SerializeField] и назначать его в инспекторе по многим причинам. Спасибо за понимание. К сожалению!

1 Ответ

0 голосов
/ 23 апреля 2020

Прежде всего;

  • Пожалуйста, проверьте в инспекторе и убедитесь, что ваш скрипт и компонент Dropdown находятся в одном объекте. (обратите внимание, что вы можете добавить выпадающее меню как элемент пользовательского интерфейса и компонент)

  • Кроме того, убедитесь, что в вашем скрипте есть ссылка «UnityEngine.UI».

Однако, если у вас есть родительский объект и вы пытаетесь получить список компонентов Dropdown его дочерних объектов, вам следует использовать «GetComponentsInChildren» в родительском объекте. Вы можете найти подробное объяснение и примеры в по этой ссылке .

Итак, код должен быть:

UnityEngine.UI

Dropdown[] myDropDownList = GetComponentsInChildren<Dropdown>();

PS Для TextMeshPro - выпадающего элемента требуется пространство имен TMPro. Итак, код должен быть:

UnityEngine.UI

TMPro.TMP_Dropdown[] myDropDownList = GetComponentsInChildren<TMPro.TMP_Dropdown>();

или

UnityEngine.UI

using TMPro;

TMP_Dropdown[] myDropDownList = GetComponentsInChildren<TMP_Dropdown>();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...