自分のRSLをロールバックし、それを純粋なas3アプリで使用したい場合、ドキュメントまたはこれを行う方法の例はありますか?
または、Adobeのエンジニアが何をしたかを把握するために、フレックスソースコードをトラバースする必要がありますか?
自分のRSLをロールバックし、それを純粋なas3アプリで使用したい場合、ドキュメントまたはこれを行う方法の例はありますか?
または、Adobeのエンジニアが何をしたかを把握するために、フレックスソースコードをトラバースする必要がありますか?
これは非常にトリッキーなものです。いくつかのポインタ:
外部からロードされた SWF からクラスを取得するには、アプリケーション ドメインで getDefinition メソッドを使用します。
public function loadHandler(evt:Event):void
{
var loaderInfo:LoaderInfo = evt.target as LoaderInfo;
var clazz:Class = loaderInfo.applicationDomain.getDefinition("your.external.class");
}
必要なクラスの名前がわかっている場合、これによりクラス定義が得られます。
クラス ドメインを相互に「結合」するには (アプリケーションが swc に対してコンパイルできるようにしますが、クラスを含めて外部からロードすることはできません)、同じセキュリティ ドメインの loaderContext を指定する必要があります。
var loader:Loader = new Loader();
var context:LoaderContext = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
loader.load(new URLRequest("library.swf"), context);
私があなたに与えることができる 3 番目のポインターは、コンパイラー・オプション「-external-library-path」です。これを使用して、コンパイル時間チェックの対象となる swc のリストを指定しますが、含めません (結果としてファイルサイズが小さくなります)。
mxmlc -source-path="dir/src" -external-library-path="dir/lib/framework.swc" --main.swf
申し訳ありませんが、これ以上詳しく説明できませんでした。これは非常に広範なトピックです。これで始められることを願っています....