![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Oct 2013
Сообщений: 126
|
Прошу помочь советом.
Дело в том, что у меня, наверное, обоснованное, но всё же параноидальное стремление удалять объекты и слушатели, которые больше не нужны. Архитекрута моего проекта такова: Main хранит "уровни" и контролирует переход между ними. Уровни - это объекты Sprite с соответствующими детьми (надписями, кнопками, объектами и т.д.). Переход из уровня 1 в уровень 2 представляет собой удаление со сцены уровня 1 и помещение туда уровня 2. При этом необходимо удалить не только сам уровень 1 со всеми его слушателями, но и всех его детей и внуков с их слушателями. К сожалению, функции "удалить всю семью со слушателями на всех уровнях ниже вызываемого объекта", откликающуюся на removed_from_stage, я не нашёл (подозреваю, что такой и нет), поэтому делаю так: При создании любого объекта, которому предстоит иметь детей, я ставлю проверку события removed_from_stage, и в cleanup() удаляю всех его слушателей при помощи removeEventListener, а также всех детей при помощи . Соответственно, при удалении уровня 1 удаляются его дети, которые при своём удалении удаляют своих детей и т.д. И все удаляют своих слушателей. Но при этом получается, что такую "чистилку" приходится приписывать каждому объекту, ведь даже при использовании удаляются только дети, а "внуки" либо остаются, либо от потери родителя начинают выдавать ошибки. Прошу прощения за корявое объяснение, но по-другому не смог( В книгах написано, что ненужные слушатели и объекты надо удалять. Но неужели для этого надо каждому объекту добавлять слушателя removed_from_stage, чтобы он "почистился" сам и заставил "почиститься" своих детей? По большому счёту вопрос заключается в том, как это делать правильно, т.е. "как лучше чистить детей и слушателей"? |
![]() |
Часовой пояс GMT +4, время: 04:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|