O'reillyの『Flash Hacks』に紹介されているHACK #2を応用してちょっとしたコンテンツを作ってみた。
「RANDOM」「FACE1」「FACE2」の3つのボタンがある。
ステージ上には2×2ピクセルのドットがランダムに散乱している。「FACE1」「FACE2」のボタンをクリックするとそれらのドットが徘徊して、ある人物の顔を描いていく。誰の顔かわかる?
ドットが粗い上に、2階調なのでちょっとわかりづらいかも。一人は女優。一人は政治家。
「RANDOM」をクリックすると、ドットが再びランダムに散らばる。
プログラムは超シンプル。ボタンハンドラを除けば空行やコメント行を含めても80ステップに満たない。
swfファイルサイズも8kByteをわずかに超える程度だ。
まずステージ上に、ドットオブジェクト(インスタンス)を2400個生成する。Flash上ではオブジェクトが2500個を超えると急激にパフォーマンスが落ちるらしく、少し余裕を見て2400個とした。
で、ボタンをクリックする度に各ドットオブジェクトに目的地を設定してあげて、ドットのEnterFrameハンドラに、目的地へ移動するメソッドを設定してあげるだけ。このメソッドはHACK本のものをそのまま使った。
絵を描くような目的地をいかにして割り出すかというところがこのHACKのミソなわけだが、けっこう力技。HitTestを使って地道に上からドットを舐めていく。
ActionScript(Macromedia Flash)は、オブジェクト指向を学ぶのに最適なツールだと思う。
オブジェクトがそのまま目に見える物体になる。メソッドはその挙動になる。アトリビュートを変更すればオブジェクトの位置や態様の変化が目に見える。これほど直感的に学べるツールはない。
JavaScriptとかだと、ブラウザ互換だとか本来のプログラミングと関係ない余計な気を遣わないといけないがFlashはプラットフォームが(一応)統一されているので、余計な気遣いも少ない。
オープンソース系の人にはどちらかというと不人気なFlashだが、少しでも興味を持ってくれる人が増えるとよいなー。今後も折を見てFlash演習モノエントリー続けていきます。
| Flash Hacks―プロが教えるテクニック&ツール100選 | |
![]() | シャム バンガル Sham Bhangal クイープ オライリージャパン 2005-07 売り上げランキング : 5,395 おすすめ平均 ![]() 他にはないテクニック満載Amazonで詳しく見る by G-Tools |



