MTASCとは、Motion-Twin ActionScript2 Compilerの略、コマンドラインActionScript 2.0コンパイラーだ。2005年1月頃に、version1.0が出た。Javaにおけるjavacのような感覚でSWFの開発ができる。MTASCを利用して、Flashファイル(SWFファイル)を作るにはMacromedia Flashを使わないといけないわけではないだ。MTASCを使えばFlashのスクリプトActionScriptを記述することで、Flashファイルを生成することをできる。MTASCはコマンドラインから利用するので、エディタでC/C++などを開発することを慣れる方にたいして、Flashの煩雑なGUIを利用せず、使い慣れたエディタを利用してプログラムを作成できる(デザイナーの人にとっては、扱いにくいものに感じられるかも)。
MTASCのインストール
以下のURLでWindows/Macintosh/Linux版が入手できます。ここでは、Windows版のMTASCを使って、Windows 2000/XPを対象にして操作方法を紹介します。
MTASCのページから、Windows用のZIPファイルをダウンロードします。これを解凍したら、利用しやすい場所に、ファイル・フォルダの全てをコピーします。ここでは、「C:\mtasc」というフォルダを作り、その中にコピーしたと仮定して説明します。
Windowsのスタートメニューから、[ファイル名を指定して実行]をクリックします。そして、「cmd」と入力して[Enter]キーを押すと、コマンドプロンプトが起動します。それから、カレントディレクトリを「C:\mtasc」に移動します。
ソースコードの作成とコンパイル
以下のソースコードをSample.asとして保存します。
class Sample
{
static function main()
{
var sample:Sample=new Sample(_root);
}
function Sample()
{
(ここに、ActionScript2 でコードを記述する)
}
}
MTASCでのコンパイルは、次のようにする。
mtasc -version 8 -swf Sample.swf -main Sample.as -header 900:600:30
成功すれば、Sample.swf が作られる。
主なメリット:
・全てのデータをテキストのASソースファイルで扱うので、CVS開発による大規模開発に向いている。
・画像データは全て外部読み込みなので、画像を作成するデザイナーと、システムを構築するプログラマーでの作業の切り分けができる。(同じFLAファイルを触る必要がない。)
・完全にオブジェクト指向プログラミングに基づいているので、Flash OOPの実践に向いている。swingやiアプリ開発者には馴染みのよいものと思います。
・Macromedia FlashにてCtrl + EnterやShift + F12でコンパイルせずに済み、大量のFLAファイルのコンパイルの際に、batファイルやシェルスクリプト作成で簡便にコンパイルが行える。
・ラッピングが簡単なので、簡単なMacromedia Flexのようなものを作成できる。(Linux版もリリースされています。)
・上記に関連しますが、JSPからのジェネレートも簡単にできる。
・OOPを開発するだけのユーザーであれば、Macromedia Flashを購入する必要がない。
リソース:
・Eclipse にMTASC プラグインを導入することによって Flash コンテンツの作成が可能となる(http://www.okapiproject.com/richclient/flash/mtasc_install.htm)
・MTASCによるSWF作成 の覚え書(実際の作品例 http://www1.kiy.jp/~yoka/TechNote/TechNote_MTASC.html)
OSXにインストール
OSX版はこちらからダウンロードできる。ほかにもLinux版とかwin版とか。
zip形式のファイルをダウンロードして解凍すると.pkgのインストーラーができるのでダブルクリックで立ち上げて終了。と思ったら、環境変数が通ってなくっていちいちフルパスをうたなきゃいけない。windowsだとコントロールパネルからさくっと変更できるたけど、OSXってどうやるんだろう?
あれこれしらべたら、rootでターミナルに入って.bash_profileにこんな感じのを書き足せばいいみたい。
export PATH=$PATH:/opt/mtasc
で、このコマンドを打つ。
sh +x .bash_profile
でも、ターミナルを落とすと、またもとに戻っちゃいます。そこらへんはもうちょっと調べてみますか。
さて。なにはなくともhello world。
まずはsampleに載っていたこんな感じの.asファイルを用意
///Hello.as:
class Hello{
function Hello(mc:MovieClip){
mc.createTextField(“tf” , 1 , 5 , 5 ,190 , 190);
mc.tf.border = true;
mc.tf.wordWrap = true;
mc.tf.text =”Hello World!”;
}
static function main() {
var t: Hello =new Hello(_root);
}
}
でターミナルから
mtasc -swf hello.swf -main Hello.as -header 200:200:30
とすると、で、できてる!
何で今更というと、これ使ってデザインパターンの勉強しようかと思って。普通のIDEでもいいのですが、まずは雰囲気から。
ちなみにmtascのオプションはこんな感じらしい。検証してないので間違ってるかもしれませんが。
-pack : 以下のパッケージすべてをコンパイルする
-cp : クラスパスを追加
-v : 冗長モード
-strict : strictモードを
-msvc : MSVC形式のエラーメッセージを使う
-mx : mxパッケージを使う
-swf : アップデートするswfファイル
-out : 出力するswfファイル
-keep : 入力する SWFからclassファイルを削除しない
-frame : ターゲットのフレームにexportする (swf内に存在してること)
-main : main entry pointを指定
-header : ヘッダーフォーマットの指定 ‘横幅:高さ:fps’
-group : classの集まりを一個のクリップにする
-exclude : コンパイルしないクラスのリスト
-version : コンパイルするSWFのバージョン (6,7,8,…)
-trace : trace する関数を指定
-help オプションを表示
–help オプションを表示