Добрый день, не пойму в чем проблема в unity 2022 пытаюсь

получить
Dropdown.GetComponent<Dropdown>()
Dropdown -> ссылка на элемент
выдает null, хотя в документации есть примеры что так и нужно получать, что я не так делаю?

29 ответов

47 просмотров

Скорей всего нету компонента на ГО

Если вы берёте компонент у объекта, то у него должен быть этот компонент в составе. Но не в чайлде.

Муслим-Гусейнов Автор вопроса
Trell _
Скорей всего нету компонента на ГО

в каком смысле? я его вижу, он есть, его не может не быть

Beͥktͣuͫr
Покажи скрином код

И скрин объекта в инспекторе ещё

Муслим-Гусейнов Автор вопроса

[SerializeField] private GameObject Dropdown; public void ButtonGive() { var r = Dropdown.GetComponent<Dropdown>().value; } выдает: NullReferenceException: Object reference not set to an instance of an object

Муслим Гусейнов
[SerializeField] private GameObject Dropdown; publ...

Ну и где у объекта компонент дропдаун? Чё то я его не вижу. Указатель есть, а объекта нет)))

Муслим Гусейнов
[SerializeField] private GameObject Dropdown; publ...

Вы его явно указали. Брат по гету уже не надо

Муслим-Гусейнов Автор вопроса
Dimitry PixiONe
Ну и где у объекта компонент дропдаун? Чё то я его...

я же говорю я его беру как gameObject и уже в коде получаю его, иначе он даже крепится ссылкой не хочет в самом gameObject ничего полезного нету

Beͥktͣuͫr
На самом обьекте есть этот компонент?

Да нет у него там ничего. Он ссылкой его к объекту прикрепил. А потом скриптом пытается взять из неоткуда

Муслим Гусейнов
я же говорю я его беру как gameObject и уже в коде...

Если иначе он крепится нехочет значит этого скрипта нету там

Ну его тут нету

Здесь дропдаун это имя текстмешпро объекта. Надо брать по типу, а не по имени, если проблема в этом

Муслим Гусейнов
[SerializeField] private GameObject Dropdown; publ...

тип поля GameObject изменить на TMP_Dropdown, убрать GetComponent и напрямую брать из поля

Муслим-Гусейнов Автор вопроса
Dimitry PixiONe
Здесь дропдаун это имя текстмешпро объекта. Надо б...

ну в чем и вопрос, а тип у него какой? https://docs.unity3d.com/ru/2018.4/ScriptReference/UI.Dropdown-value.html судя по документации я все правильно делаю

Муслим Гусейнов
ну в чем и вопрос, а тип у него какой? https://doc...

И брать ты его пытаешься с объекта, на котором его нет, судя по скринам

Муслим-Гусейнов Автор вопроса

тип поля GameObject изменить на TMP_Dropdown, убра...

вроде получилось, имя смущает, какого хрена он TMP_? это вообще законно?

Муслим Гусейнов
вроде получилось, имя смущает, какого хрена он TMP...

ты используешь TextMeshPro, у него свои компоненты, отдельные от стандартных юнитевских

Муслим-Гусейнов Автор вопроса

вот сейчас вообще в шоке, я бы уверен что пользуюсь исключительно стандартными unity элементами, откуда они нестандартные взялись? может из за версии unity? 2022.1 я просто новичок, только изучаю его

TextMeshPro включен в стандартный пакет юнити, но создан другими разработчиками ЕМНИП

Муслим Гусейнов
вот сейчас вообще в шоке, я бы уверен что пользуюс...

Если ты обращаешься к GameObject только за одним компонентом, лучше поле делать не для GameObject а сразу для компонента

Trell _
Его нужно отдельно ставить

Он же включен в юнити. На 2021.3+ точно

Муслим Гусейнов
вот сейчас вообще в шоке, я бы уверен что пользуюс...

TMP это плагин, который выкупили юнитеки и встроили в движок. Его разраб сейчас работает у них в компании. Обычные компоненты (не TMP) считаются устаревшими, их использовать не надо

Муслим-Гусейнов Автор вопроса

TMP это плагин, который выкупили юнитеки и встроил...

они бы его ещё Garbage сразу назвали для верности )))

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

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта