FREE MOTION

FREE MOTION
職人への道

Flash職人への道 上級編

またまた聞きなれない「on()ハンドラ」という謎な言葉だけど、いったいどんなものなのか知ってみよう!
とっても重要な機能だからちゃんと覚えてね☆
■on()ハンドラとは?
on()ハンドラとは、ボタンや、ムービークリップの状態に応じた動作を設定する為の条件のようなものになります。このon()ハンドラを駆使することで、「ボタンをクリックしたときの動作」、「ボタンにマウスカーソルが当たったときの動作」など、条件にあわせた細かな動作を設定することが可能です。

on()ハンドラの記述方法

on()ハンドラを記述する場合は、判定を行うイベント(条件)を合わせて記述します。
on()ハンドラを記述する
on()ハンドラを使う場合は下記の通りに記述します。
<”on()ハンドラ”の記述例>
on([イベント(条件)]){
    [処理内容];
}
{”、”}”で囲われた部分が処理内容になります。on()ハンドラのカッコを閉じ忘れないように注意しましょう。

on()ハンドラを使ってみよう

それでは実際にon()ハンドラを使ってみましょう。
on()ハンドラ "release"を使う
それでは実際にon()ハンドラを使ってみましょう。シンボルに対して以下のスクリプトを記述します。
<on()ハンドラ "release"の記述例>
on(release){
    trace(“クリックされました”);
}
このon()ハンドラ記述例では、このスクリプトが記述されたシンボルをクリックした際に、”クリックされました”というメッセージが出力されます。
on()ハンドラ用イベント(実行条件)一覧
press マウスの左ボタンがクリックされた時
release マウスの左ボタンをクリック後はなした時
releaseOutside マウスの左ボタンをクリック後、シンボルの外側ではなした時
rollOver シンボルにマウスカーソルが乗っかった時
rollOut シンボル上のマウスカーソルが外に出た時
dragOver シンボルの内側から外側へドラッグした時
keyPress”<Left>” キーボードのカーソルキーの”←”を押した時
keyPress”<Right>” キーボードのカーソルキーの”→”を押した時
keyPress”<Home>” キーボードの”Home”キーを押した時
keyPress”<End>” キーボードの”End”キーを押した時
keyPress”<Insert>” キーボードの”Insert”キーを押した時
keyPress”<Delete>” キーボードの”Delete”キーを押した時
keyPress”<Backspace>” キーボードの”Backspace”キーを押した時
keyPress”<Up>” キーボードのカーソルキーの”↑”を押した時
keyPress”<PageUp>” キーボードの”PageUp”キーを押した時
keyPress”<PageDown>” キーボードの”PageDown”キーを押した時
keyPress”<Tab>” キーボードの”Tab”キーを押した時
keyPress”<Escape>” キーボードの”Escape”キーを押した時
keyPress”<Space>” キーボードの”Space”キーを押した時

まとめ

on()ハンドラの役割を理解していただけたかな?このon()ハンドラは主にボタンシンボルで利用されることがおおいのだが、on()ハンドラを様々なシンボル応用すれば、カーソルキーを押した時にキャラクターが移動するようにしたり、特定の操作に応じたアニメーションをさせたりすることができるぞ。
特に前章で紹介した座標などと組み合わせてみても面白いだろう。
操作感のあるFlashを作る上ではとても重要な機能だから、頑張ってマスターしよう!