Flex 3 SDKを使い、無料の環境でswfを生成してみる

Flexの調査をしたとき(Flexで幸せになれるのか - octech)に調べたFlex SDKに含まれているmxmlcというMXMLコンパイラは、.mxmlをビルドできるだけではなく、.asファイルだけでもSWFファイルをコンパイルできる。つまり、MXMLファイルを使わないことにより、純粋にActionScriptだけでSWFファイルを作れるのです。
これの何が便利かって、機能別に作ったクラスのテストが可能になり、それを使いまわすことも出来るようになるのです。(基本的に、複数言語をまたぐと、あらゆるデバッグや実装が行いにくくなるので、一つのプロジェクトに関わる言語数は少ないに越したことはない、と思っています。)

Flex 3 SDKインストール

インストールといっても、ダウンロードして、それを適当な場所に置くだけです。
Flex 3 SDKがリリースされたので、それをダウンロードします。
-Download Creative Cloud apps
のページから下部の「I have read the Adobe Flex 3.0 SDK License, and by downloading the software listed below I agree to the terms of the agreement. 」にチェックを入れると、その下にある「Download the Flex 3.0 for all Platforms (ZIP, 38 MB)」が有効になるので、そこをクリックしてダウンロードします。

(2008-11-16更新)今日確認したらFlexBuilderのページからはFlexSDKのダウンロードが出来なくなっていたので、下記のリンク先からダウンロードしてください。

ダウンロードされたflex_sdk_3.zipを展開し、出来たディレクトリを適当な場所に配置して、その中にあるbinディレクトリにパスを通せば完了。
私の場合、バージョンが上がってもいいように、とか考えて、C:\FlexSDKという位置に配置してパスをC:\FlexSDK\binにパスを通しました。
インストールが完了しているかどうかのテストに、次のようなコマンドを入力してみます。

> mxmlc -version

これで適当なバージョン番号が表示されていれば問題ありません。

サンプルActionScriptファイルをビルド#1

このページを参考に(というか、そのままコピー)して、以下のようなコードを書き、FirstCircle.asとして保存します。

/* FirstCircle.as */
package {
  import flash.display.Sprite;
  import flash.display.Graphics;
  
  public class FirstCircle extends Sprite
  {
    public function FirstCircle()
    {
      var p:Sprite = new Sprite();
      p.graphics.beginFill(0xFF0000);
      p.graphics.drawCircle(80,80,60);
      p.graphics.endFill();
      addChild(p);
    }
  }
}

以下のように、mxmlcにファイル名を渡すだけでSWFをビルドしてくれます。

> mxmlc FirstCicle.as

便利ですねー。

サンプルActionScriptファイルをビルド#2

上記のままでは、SWFファイルのサイズや背景色が設定されていません。
その部分は、設定XMLファイルを作成し、同じディレクトリに配置しておくだけで参照してくれます。
こちらもまたこのページを参考に(というか、そのままコピー)して、FirstCircle-config.xmlという名前で保存しておきます。
また、日本語でコメントを入れるときにはファイルの円コーディングをUTF-8にしておく必要があります。

<flex-config>
  <output>FirstCircle.swf</output>
  <default-size>
    <width>400</width>
    <height>200</height>
  </default-size>
  <default-frame-rate>24</default-frame-rate>
  <default-background-color>0xFFFFFF</default-background-color>
  <use-network>false</use-network>
</flex-config>

ビルドすると次のようになります。

> dir /B
FirstCircle-config.xml
FirstCircle.as

> mxmlc FirstCircle.as
Loading configuration file C:\FlexSDK\frameworks\flex-config.xml
Loading configuration file C:\prj\testFlex\FirstCircle-config.xml

> dir /B
FirstCircle-config.xml
FirstCircle.as
FirstCircle.swf

これでビルドの際に基本情報(ビルドオプション)を変更する方法が分かりました。
また、ビルドオプションについては、次のページが詳しいです。