- 2006-08-15 (火) 18:27
- action script
FlashでXFactor StudioのXPathを使おうと思いO’Reilly Network — Cooking with ActionScript, Part 2で勉強していたのだけれど、XPath以外のところでつまづいてしまった。
Flash8を使っているのだけれど、サンプルで使っているPushButtonコンポーネントっていうのがコンポーネントパネルにない。ググってPushButtonコンポーネントを使っている他のサンプルを見つけて、そのライブラリからコピペして動いたのだけれど、腑に落ちなかったので調べてみた。
んで、見つけたのが以下の記事:
FLASH-JP.COM:Buttonのメソッド登録方法
どうやらFlash MX時代のPushButtonコンポーネントが、Flash MX2004からButtonコンポーネントに置き換わった様子。それで見つからなかったのね。
リンクにもあるように。メソッド呼び出し方法が変更になっていて、例えば、クリック時にdoSearch関数を実行するボタンにする場合、
PushButtonでのメソッド呼び出し:
search_pb.setClickHandler("doSearch");
だったのが、ButtonコンポーネントではClick Handlerがなくなって、
Buttonでのメソッド呼び出し:
mySearchBtn.addEventListener("click", doSearch);
と、コンポーネントイベントリスナーを使わないといけない。
ちなみに、
mySearchBtn.onPress=function(){doSearch()}
でも動くし、コンポーネントのインスタンスにon(press)でも動くそうですが、イベントリスナー使う方が今時な感じかな。
これがv1コンポーネントとv2コンポーネントの違いで、v2はリスナーイベントモデルによって、リスナーによるイベント処理ができるようになったのがメリット(Flashヘルプに詳細あり)。
v1とv2を混同させると予期せぬトラブルが起こるらしいので、併用は控えた方がいいそうです。
webからゲットしたflaサンプルでコンポーネントを使っているサンプルがあるかと思います。そんな時のためのv1とv2の見分け方ですが、簡単な方法では、ステージ上にドラッグしてできたインスタンスをダブルクリックして、中身に開いたらv1コンポーネント、開かないのがv2コンポーネントです。
Flexいじってる人とかが聞いたら笑われそうなぐらい基本なことだと思いますが、知らなかったです。
コンポーネント関連の本を読まないとなぁ。
- Newer: Nudist Trampolining
- Older: FlashとAfterEffectsとの連携
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.trick7.com/blog/2006/08/15-182739.php/trackback
- Listed below are links to weblogs that reference
- ButtonコンポーネントとPushButtonコンポーネント from trick7