Как удалять клонированные обьекты
|
|
Vp1591 | Дата: Воскресенье, 05 Апреля 2020, 23:58 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Я делал пули – она вылетает, летит пару секунд и если не встречает противника – уничтожается. Но Destroy() почему то просто отключает их, и не удаляет. Мне бы хотель именно удалять их. Кто знает почему может не работать Destory, и можно ли это починить?
|
|
| |
drcrack | Дата: Понедельник, 06 Апреля 2020, 03:15 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Убедись что Destroy ты вызываешь именно для gameObject пули, а не для какого-то скрипта на ней
|
|
| |
Vp1591 | Дата: Понедельник, 06 Апреля 2020, 23:25 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Я вызываю Destroy именно для gameObject, да и к тому же я тестировал тот же скрипт но без Destroy и пуля не выключалась.
|
|
| |
drcrack | Дата: Понедельник, 06 Апреля 2020, 23:57 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Покажи скрипт
|
|
| |
ShortKedr | Дата: Вторник, 07 Апреля 2020, 03:35 | Сообщение # 5 |
Renword Studio
Сейчас нет на сайте
| надеюсь не gameObject.Destroy(каво-то там), а Destroy(gameObject)
Вообще можешь при создании пуль делать так
Код // Kills the game object in 5 seconds after loading the object Destroy (bulletObj, 5);
Ещё покажи скрипт
Сообщение отредактировал ShortKedr - Вторник, 07 Апреля 2020, 03:42 |
|
| |
drcrack | Дата: Вторник, 07 Апреля 2020, 03:48 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| Цитата надеюсь не gameObject.Destroy(каво-то там) оно так не запустится, Destroy это ж статический метод класса Object, да и версии без параметров у него нету
Сообщение отредактировал drcrack - Вторник, 07 Апреля 2020, 03:49 |
|
| |
ShortKedr | Дата: Вторник, 07 Апреля 2020, 08:18 | Сообщение # 7 |
Renword Studio
Сейчас нет на сайте
| Цитата drcrack ( ) оно так не запустится, Destroy это ж статический метод класса Object, да и версии без параметров у него нету Ну не без параметров, а статик можно вызывать если объект экземпляр этого класса Destroy везде статик, видишь, он вызывается везде, унаследован от родоначальника Object dll Unity
Сообщение отредактировал ShortKedr - Вторник, 07 Апреля 2020, 08:22 |
|
| |
drcrack | Дата: Вторник, 07 Апреля 2020, 08:56 | Сообщение # 8 |
старожил
Сейчас нет на сайте
| Цитата а статик можно вызывать если объект экземпляр этого класса Object.Destroy(...) — можно GameObject.Destroy(...) — можно (или через любого другого наследника) просто Destroy(...) из метода наследника Object — можно gameObject.Destroy(...) — нельзя
Сообщение отредактировал drcrack - Вторник, 07 Апреля 2020, 08:58 |
|
| |
ShortKedr | Дата: Вторник, 07 Апреля 2020, 09:33 | Сообщение # 9 |
Renword Studio
Сейчас нет на сайте
| Цитата drcrack ( ) gameObject.Destroy(...) — нельзя Да верно, тупанул я, бывает в общем-то...
Сообщение отредактировал ShortKedr - Вторник, 07 Апреля 2020, 10:03 |
|
| |
Vp1591 | Дата: Среда, 08 Апреля 2020, 22:21 | Сообщение # 10 |
был не раз
Сейчас нет на сайте
| Я вызываю Destroy(gameObject); Я пробовал ставить время но оно отключает пулю мгновенно хоть с таймером хоть без. Главная проблема в том то что объект ОТКЛЮЧАЕТЬСЯ, а не УНИЧТОЖАЕТЬСЯ, хотя в коде пули кроме Destroy и передвижения ничего нетуДобавлено (08 Апреля 2020, 22:58) --------------------------------------------- Я хз как показывать скрипт Добавлено (08 Апреля 2020, 23:02) --------------------------------------------- А и ещё, проблема эта возникает именно с клонированные и объектами. Оригинальные объекты оно спокойно удаляет.
|
|
| |
drcrack | Дата: Четверг, 09 Апреля 2020, 00:02 | Сообщение # 11 |
старожил
Сейчас нет на сайте
| Цитата хотя в коде пули кроме Destroy и передвижения ничего нету значит проблема в другом скрипте но мы тебе никак не поможем пока ты не сообразишь как показать код
|
|
| |
Vp1591 | Дата: Четверг, 09 Апреля 2020, 18:53 | Сообщение # 12 |
был не раз
Сейчас нет на сайте
| { public float MoveX = 0.01f; void Start() { Destroy(gameObject); } void Update() { transform.position = new Vector3(transform.position.x + MoveX, transform.position.y, transform.position.z); MoveX = MoveX - 0.01f; } } Зашел с компа, вот код.
|
|
| |
ShortKedr | Дата: Четверг, 09 Апреля 2020, 18:57 | Сообщение # 13 |
Renword Studio
Сейчас нет на сайте
| Цитата Vp1591 ( ) void Start() { Destroy(gameObject); }
Ты уверен, что удалять пулю после её инициализации, это то что нужно? И код ли пули это? Ну конкретно этот код ничего не отключает. Скорее всего проблема в другом месте
Добавлено (09 Апреля 2020, 18:59) --------------------------------------------- Если не срабатывает Start и удаление в нём, а просто отключаются клоны, значит кто-то их отключает и до этого события не доходит. Скорее всего это скрипт с приоритетом обработки событий выше, чем у твоего. Стоит проверить другие источники проблемы
Сообщение отредактировал ShortKedr - Четверг, 09 Апреля 2020, 19:00 |
|
| |
Vp1591 | Дата: Четверг, 09 Апреля 2020, 19:12 | Сообщение # 14 |
был не раз
Сейчас нет на сайте
| Я удалял пулю сразу после инициализации для того чтобы проверить является ли проблема в таймере. С таймером оно все равно отключает ее вместо уничтожения. А насчёт другого объекта – нет, так как я пробовал удалять строку с Destroy и она спокойно себе летела.
|
|
| |
ShortKedr | Дата: Четверг, 09 Апреля 2020, 19:52 | Сообщение # 15 |
Renword Studio
Сейчас нет на сайте
| Цитата Vp1591 ( ) Я удалял пулю сразу после инициализации для того чтобы проверить является ли проблема в таймере. С таймером оно все равно отключает ее вместо уничтожения. А насчёт другого объекта – нет, так как я пробовал удалять строку с Destroy и она спокойно себе летела. Подробные скрины в студию, если не сложно. Объекта пули, списка объектов и всего что считаешь ещё нужным
Сообщение отредактировал ShortKedr - Четверг, 09 Апреля 2020, 19:56 |
|
| |
drcrack | Дата: Пятница, 10 Апреля 2020, 04:14 | Сообщение # 16 |
старожил
Сейчас нет на сайте
| Ну ты продолжай код постить по 10 строчек раз в неделю, глядишь к лету разберемся
|
|
| |
ShortKedr | Дата: Пятница, 10 Апреля 2020, 09:21 | Сообщение # 17 |
Renword Studio
Сейчас нет на сайте
| Цитата drcrack ( ) Ну ты продолжай код постить по 10 строчек раз в неделю, глядишь к лету разберемся Действительно =)
Сообщение отредактировал ShortKedr - Пятница, 10 Апреля 2020, 09:23 |
|
| |