我希望在运行时加载使用swfmill编译的外部swf。换句话说,异步加载它(不与文件一起编译)。这个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?
// …?
}
任何帮助表示赞赏:)
答案 0 :(得分:0)
使用以下代码加载它:
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 );
}
希望这有帮助。
干杯
Tamas Gronas