ActionScript3 〜弄り始め〜

前書き

昨日迷っていましたが、
「移行するなら早いほうがいいだろう、時間もあることやし。」
ということで、FlexBuilder2の体験版をインストールして触り始めました。
約1ヶ月という制限があるので、総合開発環境が生きている内に
できるだけActionScript3を操れるようになりたいものです。


勉強するといっても目標とかが無ければいかんと思いまして、
スクリプト面での処理速度が重要なゲームを作ろう...
と考えてみたところ、AS3版「爆裂スライムシ」が一番手ごろだろうと思います。
これを全般書き直してみます。

参考サイト

参考にさせていただいたサイト様を上げておきます。


FlexBuilder2

AS2の時、Eclipseプラグインでコード入力していたので英語表記でも結構直感的に使用できました。
しかもコードのエラーがなぜか日本語で表示されたので、まったくと言っていいほど苦労はありませんでした。
助かります。


importも勝手にやってくれるので、勉強用としてもかなり助かります。
クラスの場所とかも良く分かりませんし...。


getter、setterもコードアシストで表示されます。
あとsuper()の引数もコードアシストで表示されます。
Eclipseプラグインの時は表示されませんでしたので助かります。

今日の成果

まずはAS2で書いていた自分用ライブラリを書き直すところから始めました。
最初はしり込みしていましたが、やっぱりそれほど変っていなかったことを実感しました。
定数部分を「const」で定義しなおしたり、
整数しかなかろう部分の「Number」を「int」や「uint」に直したり、
メソッドの戻り値の「Void」を「void」に直したりと事務的な作業となりました。


ずいぶん変ったと思った部分は、これまでで言う「onEnterFrame」で、

addEventListener(Event.ENTER_FRAME, onEnterFrame);

private function onEnterFrame(event:Event)
{
// メインループ処理
}

と定義することです。
個人的にはAS3の定義方法の方が好み...。


あと、これまでムービークリップを始末する際に使用していた「removeMovieClip()」ですが、
どうやら「removeChild()」を使うようになったようです。


で、今回一番分からなかったのは、「ディスプレイオブジェクト」です。
これって、描画の基本っぽいので、きちんと理解していなければ進めません。
基本的には「addChild()」で次々追加して木構造で描画していくというイメージだと思うのですが、
これまでのムービークリップ入れ子構造とは少し違っているようです。
似たようなものだとは思うのですが、どこか違う、この理解が現段階での一番の課題です。

あとがき

全体的な印象は、

  • それほど変っていない。
  • でも便利になっている。

といった感じです。
かっちりとエラーが出てくれるので安心ですし、好印象。
体験版の有効期限が切れるころには、それなりのものが作れるようになっているでしょう。