ActionScript3 ~弄り始め~
前書き
昨日迷っていましたが、
「移行するなら早いほうがいいだろう、時間もあることやし。」
ということで、FlexBuilder2の体験版をインストールして触り始めました。
約1ヶ月という制限があるので、総合開発環境が生きている内に
できるだけActionScript3を操れるようになりたいものです。
勉強するといっても目標とかが無ければいかんと思いまして、
スクリプト面での処理速度が重要なゲームを作ろう...
と考えてみたところ、AS3版「爆裂スライムシ」が一番手ごろだろうと思います。
これを全般書き直してみます。
参考サイト
参考にさせていただいたサイト様を上げておきます。
- ん・ぱか工房「ActionScript 3.0メモ」
- BeInteractive!「PickUp > Learning ActionScript3」
- Isolation's-nest「Flashゲームプログラミング再入門」「◆nemu90kWw.の雑記」
- 「Flex 2 Language Reference」(英語で分からんが。)
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()」で次々追加して木構造で描画していくというイメージだと思うのですが、
これまでのムービークリップの入れ子構造とは少し違っているようです。
似たようなものだとは思うのですが、どこか違う、この理解が現段階での一番の課題です。
あとがき
全体的な印象は、
- それほど変っていない。
- でも便利になっている。
といった感じです。
かっちりとエラーが出てくれるので安心ですし、好印象。
体験版の有効期限が切れるころには、それなりのものが作れるようになっているでしょう。