配列操作に、Vectorクラスが加わった。これはArrayクラスとは異なり、挿入できる要素の型をすべて同一にし、連続した整数インデックスでのみアクセスできるようにしたことで、高速化を図っている。


var v:Vector.;
v = new Vector.();
v.push("abc")
trace(v[0])

と<>で要素の型を指定してインスタンスを生成した後は、Arrayクラスと同じようにアクセス演算子[]やpush()、pop()で扱える。そのほか、3D機能がCS4から扱えるようになった。たとえば、DisplayObject.rotationY を使うだけで、立体的な回転を楽しめる。

(例)オブジェクトのあるステージをY軸を中心に回転させる

前編の記事で使用したロゴをステージに置いただけのFlashを開き、1フレーム目に記述する

実際にプレビューすると、Y軸を中心にステージごと回転するアニメーションになる

さらに、3D座標をそのまま扱えるVector3Dクラス、3Dジオメトリの回転、拡大・縮小、平行移動などの変換をサポートするMatrix3Dクラス、3Dジオメトリを2Dビューに変換するPerspectiveProjectionクラスなどがあり、3D効果のFlashコンテンツを作ることが容易になっている。

Soundに関しても、Sound.extract()メソッドでサウンドの生データにアクセスし、Sound.sampleDataイベントと組み合わせることで音の加工・生成が可能になる。

(例)正弦波の音を作りだす(タイムラインフレームにペーストして実行)

1フレーム目に記述しプレビューすると音のデータをsin関数から作成して鳴らす

2回にわたりレビューしてきたFlash CS4は、限られたスペースでは紹介しきれないほど機能が豊富だ。そのため、アプリケーションはどんどん巨大化していっており、前バージョンの「CS3」よりも遅くなることを懸念しているユーザーは多いかもしれない。筆者もそのひとりだったのだが、実際はそれほどではないというのが、正直な第一印象。CS4はかえって快適な印象さえあるので、速度の点を気にして敬遠しているユーザーは、ぜひトライアル版をインストールして試してみてほしい。