Home‎ > ‎Application‎ > ‎Flash‎ > ‎

Buttonの扱い

FlashでActionScript2でスクリプティングする際、Buttonオブジェクトはちょっと気をつけなくてはいけない。
Buttonオブジェクトは、実体は恐らくMovieClipの拡張だと思うけど、互換性を保つために特殊な動作が行われる部分があるためだ。

具体的には、下記あたりでひっかかりやすい。
  • Buttonオブジェクトの中にmovieClipを置いてプロパティインスペクタから名前を付けても、この名前は有効にならない。無名のインスタンスと同様に、instance1といった形で自動的に名付けされてしまう。
  • on (rollOver) とかのイベントハンドラの中のスコープが、movieClipは自分自身だが、buttonの場合はbuttonの親になるということ。


このサンプルでは、左にbutton、右にmovieClipで同等の構造と動作を行わせている。
初期状態では、それぞれのオブジェクトの直下に存在するオブジェクトのリスト。 マウスオーバーすると、インスタンス上に書かれた「on (rollOver)」と、フレーム上のスクリプトで書かれた「.onRollOut」とで、thisを返すようになっている。
この内容が、buttonとmovieClipでは異なることがわかる。
尚、上記サンプルは添付しておいた。

結論としては、他のアクションと連動しない単機能のボタン以外は、movieClipで作った方が結果的には面倒がないということ。

ċ
AC_OETags.js
(7k)
Yoshimitsu Tesaki,
2007/02/01 1:27
ċ
Yoshimitsu Tesaki,
2007/02/01 1:27
ċ
button_fl8.fla
(30k)
Yoshimitsu Tesaki,
2007/02/01 1:27
Comments