Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
1

Ссылка на объект присутствующий в сцене из префаба

13.02.2019, 19:28. Просмотров 3199. Ответов 2
Метки нет (Все метки)


Персонаж перемещается по тайлам. На нем висит скрипт, который проверяет - в каком тайле находится персонаж и в какой собирается шагнуть. Дополнительно там происходит проверка - есть ли в тайле в котором стоит персонаж объекты из соответствующего тайлмапа. Если есть, то в этом тайле инстанциируется префаб небольшого канваса с кнопкой. Тайлов под персонажем в таком случае два - из тайлмапа пола, для перемещения персонажа, и из тайлмапа объектов, для взаимодействия. Префаб кнопки должен получить текущий тайл из тайлмапа объектов, чтобы в дальнейшем взаимодействовать с ним, и для этого у префаба есть ссылка на сам тайлмап объектов и на конкретный тайл этого тайлмапа. Если делать это просто кнопкой, то все работает, но просто кнопка не годится, так как она должна появляться при вставании на соответствующий тайл и исчезать при выходе с него. При этом заранее ставить и скрывать кнопки в определенных местах - не вариант, я хотел чтобы объекты могли исчезать и появляться и алгоритм работал в любом случае. А значит мне нужен именно префаб кнопки. Но проблема в том, что префаб не может ссылаться на объект присутствующий в сцене. То есть ссылка на тайл работает, так как это, видимо, тоже считается префабом. А вот ссылка на сам тайлмап не добавляется при инстациировании, в итоге кнопка не может определить - есть ли под ней тайлы-объекты, так как я для этого использую GetTile, а тот, в свою очередь, использует ссылку на тайлмап.

Что можно провернуть, чтобы префаб сослался на существующий на сцене объект? Подсунуть ему префаб тайлмапа? Но надо ли его тогда инстанциировать? Или как еще можно реализовать кнопку, которая существует только над определенным тайлом и при этом будет срабатывать на тайлах, которые появились в процессе игры?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2019, 19:28
Ответы с готовыми решениями:

Ссылка на префаб этого же префаба
Драсти! В hierachy, у объекта в скрипте сделал ссылку на его же префаб, Но после сохранения префаба...

Созданный из префаба объект не движется (velocity)
Написала скрипт для создания пулек. Но почему-то работает некорректно. Пули создаются, стоят и...

Как создать объект из префаба с начальными параметрами?
Добрый вечер. Вопрос по Unity3D. При создании объекта (префаб) как проще сразу занести в скрипт...

Как уничтожить объект на сцене?
В сцене есть два скрипта уничтожения машинки. Оба работают, когда она приближается близко к кубу....

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы геймдизайнеров
2
3 / 2 / 1
Регистрация: 13.02.2019
Сообщений: 13
13.02.2019, 21:19 2
Не читал.
>>Ссылка на объект присутствующий в сцене из префаба
Низя.

Можно искать объекты на сцене
0
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
14.02.2019, 13:40  [ТС] 3
В другом скрипте, который получает ссылку на нужный мне тайлмап не из префаба а полноценно, я сохранил эту ссылку как public static и обращаюсь к ней из скрипта префаба. Какие у этого могут быть последствия?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.02.2019, 13:40

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Проверка есть ли объект на сцене? Unity 2D
Надо чтоб искало объект на сцене по тегу "Key" и если его нет, то выполняется -...

Текст со скроллингом как объект на сцене
Здравствуйте! Столкнулся с задачей - нужно на сцене разместить текст, который можно будет...

Проблема с массивами + System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объект
Ошибка выскакивает на atsakymai = new string; В первой форме //ФОРМА 2: public partial...

Если объект добавлять в 2 контейнера, то в них будет ссылка или новый объект?
Есть объект - obj. Последовательно добавляю его в два контейнера container1.add(obj);...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.