インストール
まず、flex2SDK のサイトへ行き、Flex SDK, Flex Language Pack を落とす。
Flex SDK の中に、 Flex Language Pack 内のファイルをディレクトリごとに配置する。MacのFinderで同じディレクトリ上書きすると、前にあった中身消しちゃうんだねー。
あとは Fles SDK ディレクトリのbinにパスを通せばいいみたい。
flexのコンパイルはやたら時間がかかるそうなので、Flex Compiler Shell を導入。ダウンロード、解凍したファイルをFlex SDK の該当のディレクトリに一緒に入れて置けばそのまま使える。
あと、ActionScript3 (mxmlc) でのコンパイルを100倍速にする方法 に書いてあった rlwrap というのも入れた。上下キーで履歴辿れたりするみたい。
rlwrap は port で入る。
$ sudo port install rlwrap
これで環境構築は終わり。
fsch はこんな感じに使うみたい。
chu@chu-mac:~/flex$ rlwrap fcsh
Adobe Flex Compiler SHell (fcsh)
Version 2.0.1 build 159086
Copyright (c) 2004-2006 Adobe Systems, Inc. All rights reserved.
(fcsh) mxmlc hello.mxml
fcsh: Assigned 1 as the compile target id
設定ファイル "/Developer/SDKs/flex/frameworks/flex-config.xml" をロードしていま##
/Users/chu/flex/hello.swf (126938 bytes)
(fcsh) compile 1
設定ファイル "/Developer/SDKs/flex/frameworks/flex-config.xml" をロードしていま##
Nothing has changed since the last compile. Skip...
/Users/chu/flex/hello.swf (126939 bytes)
(fcsh)
rlwrap で fsch を起動して、そのシェル内で mxmlc コマンドを叩く。するとfcsh: Assigned 1 as the compile target id と出るので、次回からは compile 1 と id を指定することで、メモリ上に展開されたソースを瞬時にコンパイルしてくれるみたい。上の実行例だと、差分がなかいので何もしなかった様子。
fcwrap
インストール
コンパイルするの結構めんどくさいと思っていたら、fcwrap というのがあった。webrick でサーバが常時立ち上がってて、ソースの更新ごとにコンパイルしてブラウザをリロードしてくれるとても良いもの。
http://saqoosha.net/2007/03/25/534/
Rails環境がそろってれば、3あたりからで大丈夫な感じ。
3. gemsいろいろ
$ sudo gem install rails hoe mongrel rack --include-dependencies
4. fcwrap
$ svn co svn://rubyforge.org/var/svn/hotchpotch/fcwrap fcwrap
$ cd fcwrap
$ sudo rake install_gem
使い方
$ fcwrap -s hello_world.mxml
として、http://0.0.0.0:3001/ を開いておきます。 hello_world.mxml に更新があるたびにブラウザ側で勝手にロードしてくれます。
rascut
fcwrapの後継で高機能版の rascut というのが出ていたみたい。
インストール
$ sudo gem install rascut --include-dependencies
使い方
$ fcwrap hello_world.mxml -s
とするとサーバモードで起動して、http://0.0.0.0:3001/ を開いておきます。 hello_world.mxml に更新があるたびにブラウザ側で勝手にロードしてくれます。
プリントデバッグ
http://subtech.g.hatena.ne.jp/secondlife/20070219/1171872801
から log.as を頂いてくる。flex-config.xml に以下のように書くみたいなんだけど、その mxml ファイルがあるディレクトリに置いたら import せずにそのまま使えた。
<source-path>
<path-element>/path/to/</path-element>
</source-path>
以下のように書いたら、fcwrap 立ち上げて firefox の firebug の console でプリントデバッグ出来ました。AS3 の文法わからなすぎて、なんで log.as が呼ばれるのか分かってないけど、環境そろったので始めよう。
private function sayHello():void{
log('hello !');
}