Flash CS4 を使用して、十数個のサウンドといくつかの音楽トラックを含むゲームを作成しています。パブリッシュ/コンパイル時間を短縮するために、プロジェクトの「ライブラリ パス」にある (外部) SWC にサウンドと音楽を移動しました。これは機能しますが、注意が必要です...
アセットを外部化する前までは、埋め込まれたサウンドのオブジェクトを でクラスを取得して動的にインスタンス化していました。Sound
getDefinitionByName
// something like...
var soundSubClass:Class = Class(getDefinitionByName(soundClassName));
var mySound:Sound = new soundSubClass();
しかし、それらが外部 SWC に配置されたので、このようにクラスをロードするには、クラスへの「具体的な」参照が必要です。そうしないと、公開された SWF に含まれず、実行getDefinitionByName
しようとすると実行時エラーが発生します。存在しないクラスを取得します。
私の質問: Flash Professional CS4 では、静的にリンクされているかどうかに関係なく、ライブラリのアセットを強制的に含める方法はありますか?
FlashDevelop にはコンパイラ オプション「SWC インクルード ライブラリ」があります。これはまさに私が必要としているものであり、「SWC ライブラリ」オプションとは異なります。「SWC インクルード ライブラリ」オプションの説明は、「使用されているかどうかに関係なく、SWC ファイル内のすべてのクラスを結果のアプリケーション SWF ファイルにリンクします」です。
(また、すべてのアセットが 1 つのコンパイル済み SWF 内に含まれていることも重要です。実行時のリンクは、私が求めているものではありません。)