Я знаю, что класс загрузчика AS3 unloadAndStop () предполагает выгружать и останавливать все на этапе SWF, когда я загружаю один, но также изменяет ли он объекты в библиотеке (даже если они не находятся на сцене?).
Я опишу свою проблему, чтобы прояснить ее: я динамически загружаю SWF-файлы в свое приложение AS3 и извлекаю из них необходимые символы, используя applicationDomain и getDefinition.Этап SWF / FLA, который я загружаю, пуст, и все, что у меня есть, это экспортированные символы в моей библиотеке.
Проблема возникает, когда я загружаю символы, в которых есть предварительно скомпилированные клипы (в моем случае это эмиттер Partigen, но я не думаю, что это действительно имеет значение), у которых, вероятно, есть прослушиватели событий или таймеры -код в этих клипах перестает работать и ведет себя странно, когда unloadAndStop () вызывается загрузчиком, который загрузил родительский SWF-файл клипа.Я предположил, что unloadAndStop () удаляет из него требуемый прослушиватель событий, но не уверен почему (опять же, на сцене это , а не ).
Я бы написал свой собственный вид unloadAndStop (), который фильтрует эти предварительно скомпилированные клипы или проверяет, что на самом деле там происходит, но я совершенно уверен, что unloadAndStop () делает вещи, которые недоступны через API.
Чем можно объяснить это поведение?Кто-нибудь может придумать возможное решение?Спасибо.