![]() |
нужно ли уничтожать загруженные, но уже ненужные клипы?
:umnik2:Добрый день.
Есть задача: периодически в презентацию нужно загрузить swf или jpg, причём новый swf или jpg нужно загрузить поверх старого с каким-нибудь эффектным переходом. Я делаю так: 1. создаю контейнер vrBack 2. вывожу на экран: addChildAt(vrBack, 0); 3. создаю контейнер vrFace 4. для загрузки требуемого swf или jpg использую специальный класс 5. создаю объект mySwf этого класса 6. при полной загрузке, передаю swf в контейнер vrFace: vrFace= mySwf; 7. контейнер с swf вывожу на экран за vrBack: addChildAt(vrPano, getChildIndex(vrBack)); 8. вызываю функцию эффектного перехода, которая заканчивается очисткой vrBack, т.о. появляется vrFace, содержащий только что загруженный swf: vrBack.removeChildAt(0); 9. когда возникает надобность загрузить новый swf, я передаю старый swf в vrBack: vrBack.addChild(vrPano); 10. переходим в п.4, т.е. создаём объект, передаём его в vrFace, который за vrBack, затем vrBack исчезает показывая vrFace с новым swf. В этом алгоритме меня беспокоит то, что я явно не уничтожаю уходящие swf’ы. Периодически моя прога зависает, не является ли причиной загруженные и где-то хранящиеся swf’ы (каждый не меньше мегабайта)? |
Цитата:
Цитата:
Цитата:
Вобщем непонятно из этого описания отношения mySwf/vrFace/vrPano, поэтому невозможно понять, что и как Вы пытаетесь/не пытаетесь удалить. Разъясните. |
Код AS3:
|
Ойёй... это все в кадре чтоли написано? Функции внутри функций... отсутствие типизаций... мой компиллятор никогда бы такое не скомпиллил..
По Event.ENTER_FRAME определяли загрузку в прошлом веке и в другой модели событий. Вложенные функции не просто зло. Это нельзя. Не знаете, Bitmap или MovieClip - используйте тип DisplayObject. Вам бы почитать чего-нибудь, причем по ас3. И не писать больше в кадрах, это дурно. Добавлено через 27 минут Да, еще... у Вас в коде я так и не нашел ничего про добавление и удаление, но по комментариям у меня сложилось ощущение, что Вы сначала добавляете что-то из переменной методом addChild, а потом присваиваете этой переменной новое значение и считаете, что в контейнере теперь это новое. Код AS3:
Код AS3:
Код AS3:
Увидеть бы Ваш класс для загрузки. |
| Часовой пояс GMT +4, время: 14:41. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.