nazolabo

フリーランスのWebエンジニアが近況や思ったことを発信しています。

Flex2 SDKでActionScript3.0プログラミング

ほとんど自分用メモ

Flex2 SDKにありがちな誤解

Adobe Flex2(以下Flex2)はFlashをベースとしたRIAを開発するための開発ツールです。

http://www.atmarkit.co.jp/fwcr/rensai/flex201/01.html

Flex自体はそうなんだけど、Flex2 SDKは単にActionScriptを書いてswfを作るのにも使えるよ!
というのを最近まで知らなかった。

Flex2 SDKをインストールしよう

http://www.adobe.com/jp/products/flex/sdk/
の下のほうの「Flexフレームワークを含むFlex 2 SDKをダウンロード(無償)」からダウンロードできます(要ユーザ登録)
Flex SDK」と「Flex Language Pack」をダウンロードし、「Flex SDK」を解凍したところに「Flex Language Pack」の中身を上書きします。
ついでにfcshも入れておくといいかもしれません。
解凍先のbinフォルダにPATHを通せばインストールは終了です。あとdebug用Flash Playerがplayer/debug/にあるのでインストールしておきましょう。

サンプル

http://www.saturn.dti.ne.jp/~npaka/flash/as30/
にたくさんあります。
ちなみにコンパイルオプションは毎回真面目に入力するのはやってられないので、「[アプリケーション名]-config.xml」というファイルを作って、そこに記述すれば、勝手に読み込んでくれます。
詳しくは
http://d.hatena.ne.jp/nemu90kWw/20060716/p1
を参照してください。

公式リファレンスとかないの?

http://livedocs.adobe.com/flex/2_jp/
特に「ActionScript 3.0 のプログラミング」の項目は、言語仕様が詳しく載っているので、一通り目を通しておきましょう。

なんかこう、便利なIDEとかないの?

公式にFlex Builder 2というのがありますが、\64,900と、簡単に買える値段ではないので、あきらめましょう。
単にFlashアニメーションが作りたいって人はParaFla!なりSuzukaなり使ってください。

その他

  • FlashはJavaScriptの代わりになるか?
    • そもそもFlashでHTML操作はできません(多分)。あくまでFlash内で完結させるものです(MXMLを使えば別?)。基本的に既存ページの一部分のヘルパー的に使うのは向いてない気がします。ただしJavaScript(というかHTML)からパラメータ付きでFlashを呼ぶことはできます(例:JavaScriptからMP3ファイルを再生)→追記:ExternalInterfaceを使えばJavaScriptActionScriptで相互に関数を呼んだりできるので、それを駆使すれば何とかできます。(コメント欄参照)
  • コンパイルだるくね?
    • その分処理速度が高速です。
  • 画像埋め込みってどうするの?どっか設定ファイルに書くの?
        [Embed(source='image01.png')]
        private var Image01:Class;

とすると、コンパイル時にimage.pngが勝手に埋め込まれ、Image01が「'image01.png'を表示するSpriteクラスの定義」になります。使う時はImage01をnewしましょう。

  • Loaderクラスとか使うと非同期で指定したURLの画像を読み込めるっぽいけど、デバッグのとき面倒じゃね?
    • 普通にローカルファイルも読めます。相対パスで記入しましょう。
  • なんかいいデバッグ方法ない?
    • trace(なんとか)で、なんとかがlogファイルに書き込まれます。でもリアルタイムに見たいので、FlashTracerを入れましょう。ちなみに通常のFlash Player(plugin)が入っていると、debug用Flash Playerを入れても通常のもので動作すると思うので、KewBee Plugin Switcherを用意しておくと便利です。更に最新版のFlash Player(debug)では、FlashTracerの設定で、「Select output file」を「%USERPROFILE%\Application Data\Macromedia\Flash Player\Logs\flashlog.txt」(「%USERPROFILE%」は「C:\Documents and Settings\[ユーザ名]」)にする必要があります(Windows以外は知らない)