dispatchEventを手軽に使う
dispatchEventは何やら難しそうなメソッドですが、実は意外と手軽に使えます。次のサンプルプログラムのポイントは、円いインスタンスがにょりっと伸びるアニメーションが終了したよ〜っていうのをdispatchEventするところにあります。
ソースファイルを置いておきますので、ちょっと研究してみてくださいね。
ソースファイル > leafs.zip
dispatchEventは何やら難しそうなメソッドですが、実は意外と手軽に使えます。次のサンプルプログラムのポイントは、円いインスタンスがにょりっと伸びるアニメーションが終了したよ〜っていうのをdispatchEventするところにあります。
ソースファイルを置いておきますので、ちょっと研究してみてくださいね。
ソースファイル > leafs.zip
今日はこういうサンプルを作ってみました。
スプライトの並びが定期的に変わるアニメーション。
ソースファイル > formations.zip
ps.
DLできるようになりました。zipファイル名を間違えていました。(^ ^;;
サーフィンで新年早々、足の甲をケガ(剥離骨折)してしまいました・・・とほほ。
(ps.再検査したら指の骨が3本折れてました。ぎゃぽ〜)
さて、新年1個目のサンプルはちょっと入り組んでいます。ポイントは2つ。1つ目のポイントは二枚葉をDisplayObjectのツリーとして入れ子のように追加して植物を作るところ。2つ目は、すべて植え終わったというイベントを受けて全ての花を咲かせるところです。
双葉と花のシンボルはMovieClipクラスを拡張したクラスとリンケージしているので、そこも注目してください。また、花は茎の先頭の二枚葉に咲くように、入れ子になっているchildの末端を特定するために「再帰呼び出し」も使っています。
ソースファイル > plants.zip
竹ざおに止まっているトンボに触ると別の竹ざおに飛んで逃げるというサンプルです。トンボはを描き、ちゃんと進む方向を向いて飛びます。ちょっと楽しいでしょ。
このムービーのヒントになるのが次のサンプルです。トンボがマウスカーソルの周りをグルグル周回します。こちらはソースファイルを置いておくので、これを元に考えてみてください。
ソースファイル > event_tombo.fla.zip
複数のイベントが完了したならば次の動作へ移行したいということがありますよね。次のサンプルでは、そんな複数のイベントを管理するEventGroupというカスタムクラスの簡単なデモです。
円いボールは、それぞれ好きな時間だけ動作して止まります。そして全部のボールの動作が完了するまで待ち、全部が止まったならば次の動作へ移行します。
ここで、個々に発生する「動作完了イベント」を受けて「全部の動作完了イベント」を発生するのがEventGroupの仕事です。メインのスクリプトは、EventGroupのイベントリスナーになるだけで、全員の動作完了を知ることができるわけです。
このサンプルは何の役にも立ちそうにないですが、たとえば複数の問題をクリアしないと先に進めないとか、ネットワークからの複数のデータの読み込みが完了しないと表示しないとか、そういう場合に役立つテクニックです。