Одной из наиболее мощных функций флеш-движка является возможность загрузки флеш-программ в рамках флеш-программ с помощью класса Loader. К сожалению связь с загруженной программой ограничена. Хотя вы можете установить объект LocalConnection, есть ограничение на трафик, который он может безопасно поддерживать.
Простым решением является загрузка SWF-файла в домене безопасности вашей основной программы. Это дает преимущество в том, что открытые методы и свойства загруженного SWF-файла загружаются и наоборот.
Сначала расширьте класс Loader, этот класс будет использоваться для взаимодействия с загруженным файлом.
public class ParentChildLoader extends Loader
Далее мы должны сохранить SWF-файл как ByteArray. Путь к переменной - это путь к файлу в системе. Вы можете использовать объект URLStream вместо FileStream для URL-адреса http.
var swfBytes:ByteArray = new ByteArray();
var file:File = new File(path);
if (file.exists)
{
var loadStream:FileStream = new FileStream();
loadStream.open(file, FileMode.READ);
loadStream.readBytes(swfBytes);
loadStream.close();
}
Теперь, когда у нас есть SWF-файл, сохраненный как ByteArray, мы загружаем SWF-файл в наш домен безопасности и ожидаем завершения события.
var context:LoaderContext = new LoaderContext();
context.allowLoadBytesCodeExecution = true;
addEventListener(Event.COMPLETE, onSwfLoad);
loadBytes(swfBytes, context);
Если вы хотите получить доступ к свойствам загруженного SWF-файла из загрузчика, используйте свойство content.
Object(this.content).foo(bar);
Object(this.content).a = b;
Если вы хотите получить доступ к общедоступным свойствам загрузчика из SWF, используйте родительское свойство.
Object(this.parent).foo(bar);
Object(this.parent).a = b;
Это имеет множество практических применений, от повторного использования общих функций до снятия некоторых программных нагрузок с вашей творческой команды. Предостережение; загруженный SWF-файл существует в домене безопасности вашей основной программы, поэтому важно, чтобы вы загружали только те файлы, которым доверяете, с помощью этого метода.