- 2007年12月 5日 17:01
- ActionScript 2.0 | ActionScript 3.0
AS2でもAS3でも
MovieClipをボタンとして扱う事は少なくない。
色々と話を聞いてみると、けっこうな人数の人たちが律儀に
RollOver や RollOut のイベントを定義して、画像を切り替えているらしい。
実はわざわざイベントを定義しなくても
ラベル名を書くだけで簡単な画像の切り替えられる方法があったりする。
MovieClipをボタンとして扱う事は少なくない。
色々と話を聞いてみると、けっこうな人数の人たちが律儀に
RollOver や RollOut のイベントを定義して、画像を切り替えているらしい。
実はわざわざイベントを定義しなくても
ラベル名を書くだけで簡単な画像の切り替えられる方法があったりする。
よくやるのが、AS2だと
MC.onPress = function(){
gotoAndStop("press");
// なんかの処理.
}
MC.onRollOver = function(){
gotoAndStop("over")
}
MC.onRollOut = function(){
gotoAndStop("normal")
}
というコードによって画像をスクリプトで切り替える方法。でもこれは実は、press, over, normal と書いていたタイムライン上のラベル名を
_press, _over, _up と書き換えるだけで、イメージの切り替えはFlashが勝手にやってくれる。
( MC.onPress は定義しないとボタンとして認識されないので注意。)
要するに、わざわざイベントを定義せずとも
通常時のフレームのラベルに _up
マウスオーバー時のフレームのラベルに _over
マウスプレス時のフレームのラベルに _press
と書いておけばOK。
これは ActionScript 3.0でも有効、というかもっと簡単で
3.0の場合には、ラベルに必要なものを書いて
MC.buttonMode = true;これで事足りる。(※もちろん CLICK 時の挙動は addEventListener しないと駄目ですが)
こういう、便利で簡単なんだけど意外と知られてない事って
けっこう多い気がしなくも無い。
- Newer: AS3.0 MOUSE_OVERとROLL_OVERの違い
- Older: htmlをphpとして動作させる方法