#c# #unity3d #reference #spawn #destroy
#c# #unity3d #ссылка #порождение #уничтожать
Вопрос:
Так что в основном я создаю космическую песочницу на мобильном телефоне, где вы можете создать свою собственную вселенную. В начале игры вы можете выбрать свою ракету. Каждая ракета имеет свою собственную камеру, игрока и Спавнера, прикрепленных к ней. Не самое приятное решение, но оно работает. После того, как игрок выберет свою ракету, я уничтожаю порождающих на бездействующих, чтобы они не работали. Моя проблема заключается в том, что при выходе из сцены, выборе другой ракеты и повторении процесса, диспетчер создания со всеми ссылками на всех создателей потерял ссылки на них. Несмотря на то, что я перезагрузил сцену, все ссылки все еще потеряны. Извините, если это было трудно понять, но это было трудно объяснить.
Вот часть кода, которая уничтожает порождающих(представленных цветами)
if (BlueSelected == true) { Destroy(RedSpawner); Destroy(OrangeSpawner); Destroy(YellowSpawner); Destroy(GreenSpawner); }
И часть одной из планет-порождений(представлена цветами)
{ публичное преобразование SpawnPointBlue, SpawnPointRed, SpawnPointOrange, SpawnPointYellow; публичный игровой объект Меркурий;
// Checks if the Spawner is greater than null (There or not) and Instantiates the Object at the Players Position public void SpawnMercury() { if(SpawnPointBlue != null) { Instantiate(Mercury, SpawnPointBlue.position, SpawnPointBlue.rotation); } if(SpawnPointRed != null) { Instantiate(Mercury, SpawnPointRed.position, SpawnPointRed.rotation); } if(SpawnPointOrange != null) { Instantiate(Mercury, SpawnPointOrange.position, SpawnPointOrange.rotation); } if(SpawnPointYellow != null) { Instantiate(Mercury, SpawnPointYellow.position, SpawnPointYellow.rotation); }
Ответ №1:
Если я правильно понял, ваш SpawnerManager находится в разделе «не уничтожать при загрузке» и продолжает существовать между сценами. Когда вы начинаете свою игру, вы вручную ссылаетесь на создателей к менеджеру, и все в порядке, а затем, когда вы переходите на другую сцену и возвращаетесь туда, где должны быть создатели, в менеджере больше нет ссылок ?
Если это так, то для меня это нормально, ссылки между сценами не поддерживаются, и когда сцена выгружается, ссылки исчезают.
Если я что-то неправильно понял, я был бы рад немного покопаться в решении