Странное поведение загрузчика AS3 unloadAndStop - PullRequest
1 голос
/ 09 марта 2011

Я знаю, что класс загрузчика AS3 unloadAndStop () предполагает выгружать и останавливать все на этапе SWF, когда я загружаю один, но также изменяет ли он объекты в библиотеке (даже если они не находятся на сцене?).

Я опишу свою проблему, чтобы прояснить ее: я динамически загружаю SWF-файлы в свое приложение AS3 и извлекаю из них необходимые символы, используя applicationDomain и getDefinition.Этап SWF / FLA, который я загружаю, пуст, и все, что у меня есть, это экспортированные символы в моей библиотеке.

Проблема возникает, когда я загружаю символы, в которых есть предварительно скомпилированные клипы (в моем случае это эмиттер Partigen, но я не думаю, что это действительно имеет значение), у которых, вероятно, есть прослушиватели событий или таймеры -код в этих клипах перестает работать и ведет себя странно, когда unloadAndStop () вызывается загрузчиком, который загрузил родительский SWF-файл клипа.Я предположил, что unloadAndStop () удаляет из него требуемый прослушиватель событий, но не уверен почему (опять же, на сцене это , а не ).

Я бы написал свой собственный вид unloadAndStop (), который фильтрует эти предварительно скомпилированные клипы или проверяет, что на самом деле там происходит, но я совершенно уверен, что unloadAndStop () делает вещи, которые недоступны через API.

Чем можно объяснить это поведение?Кто-нибудь может придумать возможное решение?Спасибо.

1 Ответ

0 голосов
/ 06 августа 2012

Сделайте ваш загрузчик таким образом:

myLoader.contentLoaderInfo.addEventListener( Event.INIT , myLoaderHandler, false, 0, true);

Это решает некоторые проблемы из-за unloadAndStop().

...