Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Анимация после removeChild (http://www.flasher.ru/forum/showthread.php?t=195659)

allanon85 11.03.2013 10:07

Анимация после removeChild
 
Приветствую.
У меня в библиотеке куча различных клипов, которые состоят из других клипов и в некоторых из них находится анимация.
Я беру клип из библиотеки, добавляю на сцену, потом удаляю клип. Анимация продолжает играть.
Подержал так минут 5, анимация продолжает играть.(поставил специально в конце анимации трейс)

1. Клип вообще удалится?
2. Насколько это вообще накладно? На сцене могут побывать сотни таких объектов.и у каждого после удаления анимация играет.
3. Как то можно это остановить, кроме как через stop()?

FlashRus 11.03.2013 10:27

1. А куда MovieClip денется, если у вас всё ещё есть ссылки на него? GC его трогать не будет. (Вы же как-то проверяли проигрывание анимации).
2. Ну память однозначно жрётся, на счёт ЦП - надо тестить. У вас все карты.
3. А чем вас stop() не устраивает?
Сделали stop(), убрали мувик со сцены, прикончили все ссылки. Не вижу проблем.

allanon85 11.03.2013 10:52

1. проверял я трейсом, просто зашел в клип и в последний кадр трейс вписал. Разве это ссылка?. больше никаких привязок нет. Слушатель удаляющий этот клип привязан не к нему.
2. Почему память жрется? Объекты ведь не отображаются, соответственно никуда больше не залезут. Если только имеется ввиду что они не освободят память. Или я что то не так понимаю?. По цп я не заметил., собственно по этому и спрашиваю. Надо ли вообще что то делать.
3. не устраивает тем что клипы состоят из множества объектов(художник так делал), и в каждом объекте может быть анимация. т.е. я не знаю где в клипе анимация и сколько их. Можно конечно пройтись по потомкам и везде где кадров больше 1 поставить стоп. но мне почему то не нравится эта идея.

FlashRus 11.03.2013 11:01

1. Если бы у вас не было ссылок на объект, то у вас и объекта бы не было, т.к. его бы подобрал GC.
2. Да, имеется в виду то, что объекты будут лежать в памяти.
3. Унаследуйтесь от MovieClip, сделайте рекурсивный алгоритм, который будет бегать по всей вложенности всех детей и будет вам счастье.


Часовой пояс GMT +4, время: 12:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.