|
ボタンやスプライトをクリックしたときなどに動作する on ハンドラ にという ActionScript(アクションスクリプト) ついて説明します。
サンプルの作成などに使用した ParaDraw のバージョンは Ver.0.3a4, Suzuka のバージョンは Ver. 0.7.3.3 です。
ボタンやスプライトには,直接 on(○○) {〜〜} を書くことができ,ボタン上で起こった (○○) のマウスイベントまたはキーイベントをトリガ(アクション実行の引き金)として,続く {〜〜} のステートメントを実行することができます。
ややこしいことを書きましたが,文字面で理解するのではなく,実感して理解してください。
次の Flash のボタンを色々さわってみると,だいたいの意味がわかると思います。
ボタンには次のようなスクリプトを書いているので,テキストフィールドにはそれぞれの意味が表示されます。
on (press) {
my_txt.text = "ボタンを押す\non (press){ }";
}
on (release) {
my_txt.text = "ボタンを離す\non (release) { }";
}
on (releaseOutside) {
my_txt.text = "外側でボタンを離す\non (releaseOutside) { }";
}
on (rollOver) {
my_txt.text = "ロールオーバー\non (rollOver) { }";
}
on (rollOut) {
my_txt.text = "ロールアウト\non (rollOut) { }";
}
on (dragOver) {
my_txt.text = "ドラッグオーバー\non (dragOver) { }";
}
on (dragOut) {
my_txt.text = "ドラッグアウト\non (dragOut) { }";
}
on (keyPress "1") {
my_txt.text = "次のキーを押す(例1キー)\non (keyPress \"1\") { }";
}
|
on (release) { } が最も頻繁に使用されるものではないかと思います。
いわゆる「ボタンをクリックしたとき」がこの on (release) { } です。
on (dragOver) { } が最もややこしいですが,これは,
「マウスがボタン上にあるときにマウスボタンを押し,そのままボタンの外側に移動し,またボタン上に戻ったとき」に,
{〜〜} のステートメント が実行されます。
このようなものは日頃使ったことがありませんが,何かのときに役に立つことがあるものだとは思います。
on ハンドラ とは話がずれますが,以下はテキストフィールド と文字列に関しての注意点です。
SWF6 以上の SWF を作成する場合は,テキストフィールドにはインスタンス名を付けて,「インスタンス名.text」 でその内容を参照したり代入したりするようにします。
テキストフィールドに文字列を代入する場合,その文字列は二重引用符 "" でくくります。
改行コードは通常「\n」を使用するようにします。
また,上の on (keyPress "1") の { } 内,
"次のキーを押す(例1キー)\non (keyPress \"1\") { }";
のように二重引用符の中で二重引用符を使いたい場合は \" で " をエスケープします。
これでテキストフィールド内には,
次のキーを押す(例1キー)
on (keyPress "1") { }
と表示されます。
|