ActionScriptプロジェクトでのswfの分割
swfのうちすぐには必要にならない機能をメインから分割すると、ファイルサイズが小さくなって読み込みが速くなります。
この場合重要なのが、外部化されたswfがメインのデータにアクセスできること。
もうひとつ、外部swfとメインswfで共有のライブラリは、メインにだけ置いて外部swfにライブラリをマージしないこと。
ついでに、コード補完機能もあたかも外部化してないみたいに効いてくれること。
以上をActionScriptプロジェクトで行う場合です。
まず、メインswfをswc化する。
新たに空のFlexライブラリプロジェクトを作る。そのプロジェクトフォルダにメインswfからsrcフォルダをコピーする。
このとき、リンクしてないasファイルにもコンパイラが走ってエラー警告がたくさん出たりする。
またこの作業をするときは、メインswfプロジェクトは閉じておくのがいい。
以上で、/bin以下に.swcファイルが出現する。
でも、このままではメインswfが得られない。
そこで、新たにActionScriptプロジェクトを作る。
このプロジェクトのプロパティ>ActionScriptビルドパス>ライブラリパスに先ほどのswcを追加する。
そして短いasファイルをひとつだけ書く。
extendsに先ほどのswcのルートを指定しているだけ。
このプロジェクトをコンパイルすると、またメインswfが得られるようになる。
メインswfに変更を加えたい場合は、とりあえずFlaxライブラリプロジェクトの方に行う。
続いて、外部swf用のActionScriptプロジェクトを作る。
先ほどと同じく、このプロジェクトのプロパティ>ActionScriptビルドパス>ライブラリパスに先ほどのswcを追加する。
さらにそのswcの設定でリンクタイプを外部にする。この設定で共有ライブラリを重複してマージしてファイルが肥大することは防げる。
以下の記事のconfigファイルの制作は幸いに必要がなかった。
-compiler.external-library-pathで始めるSWF分割術
外部swfを読み込んで、newして使うサンプル。
forked from: ClassLoader
この場合重要なのが、外部化されたswfがメインのデータにアクセスできること。
もうひとつ、外部swfとメインswfで共有のライブラリは、メインにだけ置いて外部swfにライブラリをマージしないこと。
ついでに、コード補完機能もあたかも外部化してないみたいに効いてくれること。
以上をActionScriptプロジェクトで行う場合です。
まず、メインswfをswc化する。
新たに空のFlexライブラリプロジェクトを作る。そのプロジェクトフォルダにメインswfからsrcフォルダをコピーする。
このとき、リンクしてないasファイルにもコンパイラが走ってエラー警告がたくさん出たりする。
またこの作業をするときは、メインswfプロジェクトは閉じておくのがいい。
以上で、/bin以下に.swcファイルが出現する。
でも、このままではメインswfが得られない。
そこで、新たにActionScriptプロジェクトを作る。
このプロジェクトのプロパティ>ActionScriptビルドパス>ライブラリパスに先ほどのswcを追加する。
そして短いasファイルをひとつだけ書く。
package { [SWF(backgroundColor='0x3B6EA5')] public class gOS_010 extends osCore { public function gOS_010() { super(); } } }
extendsに先ほどのswcのルートを指定しているだけ。
このプロジェクトをコンパイルすると、またメインswfが得られるようになる。
メインswfに変更を加えたい場合は、とりあえずFlaxライブラリプロジェクトの方に行う。
続いて、外部swf用のActionScriptプロジェクトを作る。
先ほどと同じく、このプロジェクトのプロパティ>ActionScriptビルドパス>ライブラリパスに先ほどのswcを追加する。
さらにそのswcの設定でリンクタイプを外部にする。この設定で共有ライブラリを重複してマージしてファイルが肥大することは防げる。
以下の記事のconfigファイルの制作は幸いに必要がなかった。
-compiler.external-library-pathで始めるSWF分割術
外部swfを読み込んで、newして使うサンプル。
forked from: ClassLoader