アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

Flexはじめました。

こんにちは、中川です。夏ですね。

最近ちょっとFlexをさわってみたりしてみまして、今回はそれについての奮闘っぷりです。

では早速、Flex 2 SDKのインストールです。(※とりあえず、最初はFlexBuilderを使わないではじめます。)

Adobeのサイトからダウンロードします。Flex 2 SDKは無料で提供されていますが、
ダウンロードにはユーザ登録が必要です。

ダウンロードしたzipファイルを解凍し適当なディレクトリに設置。

パスをflex_sdk\binへ設定したらインストール完了です。

最初は簡単なActionScriptファイルでコンパイルテストです。

HelloWorld.as


package {
    import flash.display.*;  
    import flash.text.*;  
    public class HelloWorld extends Sprite {
        public function HelloWorld() {
            var textField:TextField=new TextField();
            textField.text="こんにちは世界!";
            addChild(textField);
        }
    }
}


ファイル名 = Class名になるように作成するみたいです。

そして、コンパイルコマンドラインから、mxmlcコマンドで。
(これは、Dドライブ直下で作成しています。)


これで、Hello.swfファイルが作成されます。

あとは、ブラウザで表示してみます。


見事に文字化けです・・・。FlashではShift_JISは使えないのか?

文字コードUTF-8に変更し再度コンパイル


よぉぉーし!!無事、Flexの第一歩を踏み出せました!!

さて、次にやることはコンパイル時間をなんとかしましょう。

mxmlcで普通にやった場合、とにかく遅い。

高速にコンパイルできるように「fcsh」を使ったコンパイルを行うようにします。

fcshを使わないで、mxmlcを使っていると遅くて遅くてとても開発なんてやってられません。

http://labs.adobe.com/wiki/index.php/Flex_Compiler_Shellから、

ダウンロードし、解凍した中の、bin、libをflex_sdk_2の中にコピー。

これだけでセッティング完了です。

使い方はコマンドラインで、fcshコマンドを実行してから、あとは通常のmxmlcの使い方です。



1回目のコンパイルには、相変わらず遅いですが、

2回目以降はメモリ上に展開されたものを使用して動作するようで、かなり早くなります。

ただ、メモリが少ない環境では、繰り返しfcsh上でコンパイルを繰り返すと、メモリを使い切ってしまいました。

適当にメモリの様子をみて、fcshを再起動しましょう。

さて、気になったのがどうやってデバッグするんだと。

trace実行してもなんにも出力ない?

で、Googleさんで探してみると、なんと、trace結果はファイルに出力されるとか?

出力先は,
C:\Documents and Settings\ユーザ名\Application Data\Macromedia\Flash Player\Logs\flashlog.txt

こんなところに眠ってました・・・。これでデバッグするのか!?

ありえねーorz、とか思ってるとイイモノ発見。

「Trace Rabbit」というtrace の内容を表示するスタンドアロンアプリケーション
http://bitmap.dyndns.org/blog/archives/001306.html


こんな感じにtraceをリアルタイムに確認することができます。

これで、とりあえずはなんとか開発を進められる環境が整った感じです。

ホントはFlex Builder 2を使ってやるのが一番楽なんでしょうが、

何事も最初はこんな感じで苦労してやるのもいいのかなと、自分に言い聞かせることにします。

開発方法を確立するまでのこの苦労がなんともいえませんね(なかなかこれはこれで楽しかったりもしますが)


参考URL:

[ThinkIT] 第2回:実践!Flex 2のインストール (1/3)
http://www.thinkit.co.jp/free/article/0611/11/2/

ActionScript 3.0メモ
http://www.saturn.dti.ne.jp/~npaka/flash/as30/

川o・-・)<2nd life - ActionScript3 (mxmlc) でのコンパイルを100倍速にする方法
http://d.hatena.ne.jp/secondlife/20070211/1171173690

trace の内容を表示するスタンドアロンアプリケーション
http://bitmap.dyndns.org/blog/archives/001306.html