Flash Builder 4 で簡単なプロジェクトを作成しましたが、SWC->SWF を発生させる唯一の方法は、ActionScript プロジェクトの代わりに Flex プロジェクトを作成し、「外部」ではなく「ランタイム共有ライブラリ (RSL)」を選択することです。これは、Flex フレームワークには、これらのライブラリのロードを処理するいくつかのクラスがあるためです。また、変換 (抽出と言うべきです) プロセスも自動化します。
このためだけに Flex プロジェクトを作成したくない場合は、自分で SWF を抽出できます。SWC ファイル形式は、SWF とコンテンツを記述した XML ファイルを含む単なる Zip です。次に、ローダーを使用し、正しいアプリケーション ドメインを設定して、この抽出された SWF ファイルを動的にロードできます。これが私のサンプルプロジェクトのスニペットです。
public class Web extends Sprite
{
public function Web()
{
//you will not be able to instantiate classes of your library until it's loaded
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
loader.load(new URLRequest("library.swf"), new LoaderContext(false, ApplicationDomain.currentDomain));
}
protected function onLoadComplete(event:Event):void
{
//here you can create instances of classes defined in your library
new Asset();
}
}
デザイナーがライブラリを更新するたびに解凍してコピーするのは、かなり面倒な作業だと思うかもしれません。このプロセスは、スクリプトまたは Ant ファイルを使用して自動化できます。残念ながら、私が何かを見逃していない限り、Flash Builder はビルド プロセスを拡張することを望んでいないようです。そのため、ビルドするには少し手作業を行うか、完全に Ant (または類似のもの) に変換する必要があります。
幸運を!