Я работаю с FlashDevelop и имею два основных проекта, все это чисто AS3 проекты.
При попытке загрузить мой второй проект из основного проекта я получаю всевозможные ошибки.
Класс Main основного проекта расширяет Sprite, а класс Main в проекте «для импорта» расширяет MovieClip. Глядя на загрузку swf в окне отладки в FD, все выглядит нормально:
[SWF] 'pathToSwf'\secondProject.swf - 410 626 bytes after decompression.
Если я пытаюсь назначить загруженный SWF только что созданному MovieClip, я получаю сбой приведения:
swfContent = loader.content; // =>
Type Coercion failed: cannot convert Main@46c0201 to flash.display.MovieClip.
Итак, типизирование загруженного контента выглядит так:
swfContent = loader.content as MovieClip;
удаляет эту ошибку, но затем я попадаю в следующую яму, когда пытаюсь вызвать addChild:
Error #2007: Parameter child must be non-null.
Пытаясь обойти проблему, я пытался добавить загрузчик прямо в контейнер, где я хочу показать внешний SWF. Вот когда начинаются настоящие интересные проблемы:
targetContainer.addChild(loader);
Мое основное приложение теперь зависает, перезапускаясь в бесконечном цикле. Понятия не имею почему ..
Так что моя проблема действительно. Как мой внешний SWF может быть загружен, но затем снова будет нулевым.
Он прекрасно работает, когда я запускаю внешний SWF самостоятельно ...