yoppa.org


Blog

ActionScript 3.0+物理エンジン

FisixEngine link

仕事での必要もあり、今までちょっと避けて通りつつあった、ActionScript 3.0 について勉強中。OSXバージョンだけなのかもしれないが、FlexBuilder 2がなんだかモッサリと遅いのでちょっと印象悪かったのだが、Flex 2 SDKを使えば問題なくActionScript3で書いたプログラムをSWF化できた。しかもこちらは無料なので、今年度の授業で紹介してもいいかもしれない。早速AdobeのダウンロードページからFlex 2 SDKをダウンロードして、binフォルダ以下をOSXの/Developper/SDKs/flex/にコピーして、パスを通す。

ActionScript2を書くときは、結局Flash8のエディタで書いていたのだが、せっかく無料環境で作るのであればActionScript3のエディタもEmacsでやりたい。EmacsでActionScriptを書く場合は、今までは、ECMAScriptModeというのを利用していたのだが、これだと微妙にハイライトの付きかたなどがしっくりこない。さらに調べてみると、そのものずばりのactionscript-mode.elというのがあった。ここのas-config.elとactionscript-mode.elをダウンロードして、site-lispに追加し、.emacsに以下の指定を追加

(autoload 'actionscript-mode "actionscript-mode" "actionscript" t)
(setq auto-mode-alist
(append '(("\\.as$" . actionscript-mode))
auto-mode-alist))

これで、快適なプログラミング環境が構築できた。mxmlcというコマンドでAS3のプログラムをswf形式に変換することができる。

なぜ急にAS3なのかというと、重力や摩擦、反射などの物理法則を計算してくれるような、物理シミュレーションライブラリを捜していた。調べてみると、やはりこうした演算が主な機能は徐々にAS3に適しているようで、優秀そうなライブラリはAS3用に書かれたものが多い (参考:AS3ダイナミクスエンジンのまとめ@flashrod)。これが一番のきっかけになった。現在このページで「多機能」とされているFisixEngineを主に調査中。とりあえず、こんなのができた。これは楽しい。