Удаление объектов

Программирование на Юнити.

Удаление объектов

Сообщение Neon 13 фев 2017, 20:02

Здравствуйте , подскажите пожалуйста. Есть объект , у него много дочерних объектов они созданы через Instantiate, а в некоторых есть объекты дочерние им. Мне нужно удалить все объекты дочерние главному объекту. не уничтожая его самого . Как делаю я
Синтаксис:
Используется csharp
 
CubeItems= Cube.GetComponentsInChildren<Transform>(); // но тут он в массив закидывает и главный объект и главный объект ифом что ли его обходить ?
 foreach (Transform child in CubeItems)
                {
                    Destroy(child);// не хочет удалять. Ошибка в коментах
//Can't destroy Transform component of '4'. If you want to destroy the game object, please call 'Destroy' on the game object instead. Destroying the //transform component is not allowed.
                }
 
Neon
UNец
 
Сообщения: 7
Зарегистрирован: 02 дек 2016, 10:47

Re: Удаление объектов

Сообщение Anonymyx 13 фев 2017, 20:38

Destroy(child.gameObject);
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: Удаление объектов

Сообщение TonyMax 16 фев 2017, 02:58

Вы получаете массив Transform, я так понимаю.
Затем каждый Transform пытаетесь удалить через Destroy().
Transform хоть и компонент объекта, а компоненты можно удалять через Destroy(), тем не менее Tranform у вас удалять не получится, скорее всего, из-за того что каждый GameObject должен иметь Tranform компонент
TonyMax
UNец
 
Сообщения: 40
Зарегистрирован: 23 июн 2016, 14:54


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9