Flash 10 Прикрепление файла png с внешнего SWF-файла, скомпилированного с помощью SWFMILL
Я хочу загрузить внешний SWF, скомпилированный с SWFMILL, во время выполнения. Другими словами, загрузка выполняется асинхронно (не компилируется вместе с файлом). Этот SWF-файл содержит 2 ресурса: file1.png и file2.png.
В основном это работает, за исключением этой проблемы: как прикрепить ресурсы в файл? Обычно я бы использовал attach()…
var _urlLoader = new URLLoader();
var _urlRequest = new URLRequest("libgfx.swf");
_urlLoader.load(_urlRequest);
_urlLoader.addEventListener(Event.COMPLETE, onComplete);
public function onComplete(e:Event) {
trace("Received shared libgfx.swf. Length: " + _urlLoader.data.length); // displaying the size correctly
var displayObjectLoader:Loader = new Loader();
displayObjectLoader.load(_urlRequest);
var displayObject:DisplayObject = addChild(displayObjectLoader);
// How would you attach file1.png or file2.png?
// …?
}
Любая помощь приветствуется:)
1 ответ
Решение
- Конвертировать активы в MovieClip.
- Добавить связь для них.
Используйте следующий код для загрузки:
var context:LoaderContext = new LoaderContext( ); context.applicationDomain = ApplicationDomain.currentDomain; var loader : Loader = new Loader( ); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete ); loader.load( new URLRequest( "assets.swf" ), context ); function complete ( e:Event ) : void { var Asset : Class = e.target.applicationDomain.getDefinition("the linkage of the asset") as Class; var asset : MovieClip = new Asset( ); addChild( asset ); }
Надеюсь это поможет.
ура
Тамас Гронас