この方法でas3でライブラリswfsを作成していますが、魅力的に機能します(遅いmxmlcコンパイラを除く):
package {
import flash.display.Sprite;
public class Library extends Sprite {
[Embed(source="assets/test.png")]
public var TestBitmap:Class;
}
}
同様のライブラリをswfmillで作成したいと考えています。次のswmfill単純なxmlを試しました:
<movie version="10">
FlashDeveloper のエクスプローラーでライブラリを調べると、as3 ライブラリはクラスとシンボルの両方をエクスポートしますが、swfmill ライブラリはシンボルのみをエクスポートすることがわかります。私のホスト アプリケーションは、次の方法で as3 ライブラリ アセットにアクセスしています。
private var loader:Loader = new Loader();
private function onCreationComplete():void {
this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
}
private function onComplete(e:Event):void {
var resourceClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition("Library") as Class;
var resources:Object=new resourceClass();
var testBitmapClass:Class = resources['TestBitmap'] as Class;
var testBitmap:Bitmap = new testPngClass();
this.addChild(testBitmap);
}
しかし、エクスポートされたswfmillクラスがないため、明らかに何も説明できません...
swfmill はこの方法でクラスをエクスポートすることを期待されていますか? そうでない場合、シンボルをクラスとしてインスタンス化せずにシンボルにアクセスする方法はありますか?
ジョナス