Удаление дочерних элементов, которые все еще находятся на сцене

#actionscript-3 #action

#actionscript-3 #Экшен

Вопрос:

Я пытаюсь удалить свой объект, когда он достигает конца анимации. Я удаляю родительский элемент, когда у меня заканчиваются жизни. Когда я это делаю, происходит сбой, потому что на сцене все еще есть дочерние элементы родительского элемента. Итак, я хотел бы знать способ удалить всех дочерних элементов, которые все еще находятся на сцене, когда у меня закончатся жизни.

(извините, если код на французском языке). Код

Комментарии:

1.Я думаю, вам нужно вызвать this.parent.removeChild после вас весь ваш другой код в этом блоке. Код выполняется в порядке сверху вниз в каждом блоке кода, поэтому, если вы удалите this. , а затем попытаетесь выполнить с ним операцию, например, добавить или удалить EventListeners … это не удастся. Я могу ошибаться и не могу проверить это сейчас, но попробуйте

2. Должно быть достаточно просто removeChild(this); хотя это плохая практика, дочерние элементы должны быть удалены там, где они были созданы — в родительском. Попробуйте сначала удалить прослушиватели событий, а затем удалить дочерние элементы. Что происходит при событии «dispartition», вы что-то делаете с текущим объектом, который уже был удален?

Ответ №1:

parent.removeChildren(0,parent.numChildren-1)