Дочерний элемент Unity виден только в режиме воспроизведения

#c# #unity3d

#c# #unity3d

Вопрос:

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

Комментарии:

1. Пожалуйста, покажите свой код! Вероятно, все дочерние элементы и компоненты создаются во время выполнения с помощью скрипта или сборных файлов ..

2. вот код: dotnetfiddle.net/3k49NB

3. ну, как сказано … проверьте свой RebuildPanel() метод .. там вы создаете все экземпляры объектов

4. Да, я знал, что он где-то в этом разделе, но я все еще не знаю, как заставить gameobject показывать эти дочерние объекты, которые я вижу в режиме воспроизведения, или что нужно изменить. Я очень туп в программировании, и я скачал этот скрипт из Интернета.

Ответ №1:

Любые изменения, которые вы вносите в сцену и ее объекты в режиме воспроизведения, не будут сохранены, и на то есть веская причина. Если вы хотите, чтобы эти изменения остались, вам нужно внести эти изменения в режиме редактирования. Вы можете сделать это с помощью скриптов редактора. Вы также можете потенциально поместить [ExecuteInEditMode] в свой скрипт, чтобы заставить его работать в редакторе. Если вам нужно, чтобы это происходило в режиме воспроизведения, вам придется вручную сохранить все ваши изменения в файл сохранения и загрузить их при повторном воспроизведении.