Использование Prefab'ов как в ООП
|
|
Nordicus666 | Дата: Суббота, 18 Марта 2017, 16:37 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| С префабами не до конца разбираюсь, сколько гайды и туториалы не читаю, все схоже с ООП (c# знаю отлично, в том числе и ООП), но вот появляется проблемка: имеется скрипт, который изначально в игре не присутствует, его экземпляры только иногда появляются в объектах на сцене (т.е. другие скрипты то добавляют этот скрипт, то удаляют из объекта), я не могу из этого скрипта заспавнить префаб, ибо нужна ссылка (т.е. создать переменную, в нее передать префаб), но это можно сделать только когда скрипт уже висит в объекте, основной вопрос: как заспавнить экземпляр префаба без ссылки? (обычно в гайдах пишут типа того: Public Transform myPrefab; (и далее где то в коде) Instantiate(myPrefab, ...);, а мне бы просто по названию префаба работать, т.е.: (в файлах проекта есть префаб Fireball) instantiate(Fireball, ...) или что то подобное.
|
|
| |
EchoIT | Дата: Суббота, 18 Марта 2017, 16:47 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Nordicus666, Resources.Load как вариант.
Долгожданный анонсик: State of War
|
|
| |
dreenline | Дата: Суббота, 18 Марта 2017, 17:01 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| что если сделать просто префаб менеджер и добавить туда все объекты - префабы, а когда нужно что-то спавнить, то спавнить уже из этого префаб менеджера?
Код public class prefabManager{ public GameObject myPrefab1; public GameObject myPrefab2; }
Код void Start(){ p = FindObjectOfType<prefabManager>(); } void onClick(){ instantiate(p.myPrefab1,...); }
Сообщение отредактировал dreenline - Суббота, 18 Марта 2017, 17:02 |
|
| |
Nordicus666 | Дата: Суббота, 18 Марта 2017, 17:05 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| Цитата dreenline ( ) public class prefabManager{ public GameObject myPrefab1; public GameObject myPrefab2; }
Очень интересная идея, весьма благодарен, попробую, но только тут вопрос есть: менеджер префабов - скрипт, т.е. на сцене надо будет создавать пустой объект с этим скриптом, ок, но получается его надо пихать в каждую сцену?
Цитата EchoIT ( ) Resources.Load как вариант. а можно подробнее? или ссылку на информацию? просто сейчас по времени ограничен, не могу сам гуглить (ибо это долго, а проект фигачить то надо :D)
|
|
| |
Ranger | Дата: Суббота, 18 Марта 2017, 19:29 | Сообщение # 5 |
почти ветеран
Сейчас нет на сайте
| Цитата Nordicus666 ( ) но получается его надо пихать в каждую сцену? link
|
|
| |
Nordicus666 | Дата: Суббота, 18 Марта 2017, 19:34 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Цитата Ranger ( ) link Весьма и весьма благодарен
|
|
| |
dreenline | Дата: Суббота, 18 Марта 2017, 19:44 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| Nordicus666, мне кажется, будет лучше использовать синглтон
|
|
| |