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は使えないのか?
よぉぉーし!!無事、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