![]() |
Удаление мувика самим собой
Возник вопрос в корректности удаления мувиклипа самим собой со сцены.
На фрейме "REMOVE" выполняется какая-то анимация, далее на Х-ном кадре выполняется следующий код: Код:
stop();Однако наткнулся на странную проблему: после каждого такого удаления мувик судя по всему продолжает проигрывать какую-то анимацию... То есть , предположим имеется 20 мувиков на сцене. Они нормально работают, далее они все ремувятся и добавляется 20 новых мувиков. Они начинают тормозить. Если сделать так еще раз, то тормоза будут еще больше. Проблема точно не в выгруженных объектах и т.п., по 2 причинам: 1) Если не делать REMOVE, то все ок 2) Нагрузка в виде сожранной памяти при торможении выглядит в виде ломаной, то есть 300 кб, 600 кб, 300 кб, 600 кб... Если еще раз перегрузить мувики, то будет 300 кб - 900 кб - 300 кб - 600 кб - 900 кб - 300 кб и т.п. То есть судя по всему, почему-то мувики, удалившись со сцены (а кстати при этом я тру всевозможные ссылки на них, но, как я уже сказал, что, получается, что если не тереть и не ремувить, то торможение пропадает), начинают что-то такое вытворять, что сжирают память. |
может попробывать
Код:
stop(); |
delete this?!
Ну он проигнорирует эту строчку и продолжит работать :) |
Код:
stop(); |
это не правильно логически. объекты не должны сами себя удалять (как следствие - не умеют это делать). removeChild() не удаляет клип, он его убирает со сцены, но клип продолжает существовать. Чтобы именно удалить клип нужно родителю и всем объектам ссылающимся на клип сообщить о том, что его нужно удалить. т.е. предположим, что единственный, кто знает про клип - это его родитель, тогда:
у родителя может быть метод, в котором будет что-то вроде этого: Код:
public function totallyRemoveChild(mc:DisplayObject):void {Цитата:
|
я удалял так =)
Код:
private function enterFrameHandler(event:Event): void |
| Часовой пояс GMT +4, время: 03:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.