Четверг, 28 Марта 2024, 15:14

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Использование Prefab'ов как в ООП
Использование 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, мне кажется, будет лучше использовать синглтон
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Использование Prefab'ов как в ООП
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг