wonderflでActionScript 3.0の新機能を使ったコーディングを勉強しよう!

Flash CS4/Flash Player 10では、3Dツールやボーンツールなどの新しいアニメーション機能群が追加されていますが、それに負けず劣らずActionScript 3.0に関してもたくさんの新機能が追加されています。「3D用プロパティ」「動的サウンド生成」「Vector型」など、新たな表現や処理の高速化に繋がる魅力的な機能が満載です。こうした新機能でどんなことができるの? どうやってコーディングするの? と気になる方は、面白法人KAYACさんが運営している「wonderfl」をチェックしてみて下さい。wonderflは、Webブラウザ上でActionScriptのコーディング&プレビューが行えるオンラインサービスです。国内外のユーザが多数参加しており、さまざまなコードサンプルが公開されています(参照:edge 2009年1月号 Wonderfl紹介記事)。本記事では、その中からFlash CS4/Flash Player 10の新機能を使ったサンプルを紹介します。レッツお勉強!

記事作成協力:大塚雅和面白法人KAYAC

wonderflとは?

wonderflでは、一からコードを書いて利用することもできますが、他のユーザが投稿したコードを派生・分岐(Fork)させて、改造などいろいろと試すこともできます。つまり、これから紹介するサンプルを自分で触りながら、コーディングの仕方を学べるというわけです。

wonderfl

wonderflはオンラインサービスなので、Flashオーサリングツールは入りません。Webブラウザがあれば利用できます。wonderflの使い方については、「wonderfl:サイト上でFlashを作成できる! ActionScriptを勉強できる!」をご覧下さい。

wonderflでFlash Player 10の新機能を使ったサンプルをチェック!

3D用プロパティ

Flash CS4/Flash Player 10では、表示できるオブジェクトの基本クラス:DisplayObjectに3Dをサポートするためのプロパティ(奥行きzやrotationX、rotationY、rotationZなど)が追加され、簡単なコードで3Dエフェクトを表現できるようになりました。

3D Carousel
clockmakerさんによる「3D Carousel

code on 2008-12-18
kamipooさんによる「code on 2008-12-18

動的サウンド生成

Flash CS4/Flash Player 10から、動的に生成した音を再生することができます。SampleDataEvent.SAMPLE_DATAというイベントを使い、Soundオブジェクトに音声データをByteArrayで与えることで、与えた音を再生します。

Dynamic Sound Generation
seagirlさんによる「Dynamic Sound Generation

wonderflで音楽♪Like the wind from:UpDownRoad
keim_at_Siさんによる「wonderflで音楽♪Like the wind from:UpDownRoad

Vector

Flash CS4/Flash Player 10から、新しくVector型を使えるようになりました。Vector型は、保持することのできるデータ型を固定することで高速化が図られたArrayと考えるといいでしょう。<>の中に指定した型のデータのみを保持することができます。以下のサンプルでは、18行目のarr変数でShape型を保持するVectorを、19行目のv変数でNumber型を保持する2次元配列を宣言しています。Array、Vectorの性能比較を行っているコードもあります。

Array,Vector,Vector3D速度比較
umhrさんによるサンプル「Array,Vector,Vector3D速度比較

テキストレイアウト

Flash CS4/Flash Player 10では新たなテキストエンジンを搭載し、縦書きや文字配置の調整、デバイスフォントへのアンチエイリアスなど、テキストを自由自在に扱うことができるようになりました。

Text Engine 縦書きサンプル
mtokさんによる「Text Engine 縦書きサンプル

ローカルファイルアクセス

Flash CS4/Flash Player 10からは、ローカルのPCから選択したファイルをFlash Playerのみでエフェクトをかけて保存するなど、ローカルでファイル操作ができるようになりました。

カメラで撮ってpngをローカルに保存
nacookanさんによる「カメラで撮ってpngをローカルに保存

Mikan
Saqooshaさんによる「Mikan

上に挙げたサンプル以外にも、まだまだFlash CS4/Flash Player 10の新機能を使ったサンプルはありますし、さまざまなユーザがForkしている場合もあるので、そちらも併せてチェックしてみて下さい。

また、wonderflでは、ActionScriptライブラリを利用することで効率よく開発を進められるようになっています。Papervision3DSandyAlternativa3Dといった3D用ライブラリ、TweenerTweensyといったアニメーション用ライブラリ、ProgressionThreadをサポートしており、短いコードで高度なFlashを作成できます。こうしたActionScriptライブラリを使ったコードが数多く投稿されているので、wonderflを隅々までブラウジングしてみてはいかがでしょうか?

関連情報