Вопрос

Я загружаю несколько SWF-файлов в 0 на своей сцене.Это страницы моего сайта.

Для перехода со страницы на страницу я использую RemoveChildAt(0), а затем добавляюChildAt("page_title", 0).

Проблема в том, что команда RemoveChild не удаляет функции из первого загруженного SWF-файла (перед выгрузкой).

Как мне тогда остановиться?

Должен ли я использовать другой способ удаления ребенка?

Спасибо!

Это было полезно?

Решение

Мне кажется, что вы на самом деле их не удаляете.Прежде всего, удаление чего-либо из списка отображения — это всего лишь визуальное/интерактивное изменение.Он все еще работает до тех пор, пока вы не удалите все ссылки на него, будь то прослушиватели событий или что-то другое, а затем вы должны установить для него значение null, чтобы сборщик мусора захватил его в следующем цикле.

Если вы используете Flash Player 10, спонсор прав, что unloadAndStop подойдет вам, поскольку они совсем недавно создали его, чтобы решить вашу проблему.

Я просто подумал, что должен объяснить, что происходит, потому что люди должны знать не только об исправлении, но и о том, почему что-то происходит.

Еще одно предложение: я бы не стал загружать эти фильмы на сцену, я бы создал контейнер Sprite/MovieClip чтобы хранить их таким образом, даже если вы добавите другие вещи позже, они будут разделены, чисты и к ним будет легко получить доступ через их родительский элемент (imageContainer_mc например).

Другие советы

Предполагая, что вы загружаете Погрузчик вы можете использовать метод unloadAndStop.

Дополнительная информация здесь:

http://www.gskinner.com/blog/archives/2008/07/additional_info.html

Альтернативно вы можете загрузить вложенный фильм в другой ApplicationDomain, чтобы изолировать загруженный код от основного приложения.Взгляните на flash.system.ApplicationDomain класс (это параметр для Loader.load() метод).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top