as3 removeChild проблема - PullRequest
       9

as3 removeChild проблема

1 голос
/ 21 сентября 2009

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

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

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

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

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

Thanx!

Ответы [ 3 ]

1 голос
/ 26 сентября 2009

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

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

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

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

1 голос
/ 21 сентября 2009

Если вы загружаете с помощью Loader , вы можете использовать метод unloadAndStop.

Больше информации здесь:

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

0 голосов
/ 29 сентября 2009

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

...