• ベストアンサー

Flash ActionScript3でHPを作成しているのですが、ム

Flash ActionScript3でHPを作成しているのですが、ムービークリップをボタン扱いすることはできるのでしょうか? ボタン扱いというのはリンクに移動できて、マウスポインタが指に変わるようにしたいんです。 またそれに関わる書籍やサイトもあれば教えていただきたいです よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

書いてみました。 以下をボタンムービークリップと同階層のタイムラインにコピペすれば動きます。 //ボタンムービークリップを作成、インスタンス名=btn //btn1フレーム目にロールアウト、2フレーム目にロールオーバーの画像を作成する //btnがクリックに反応するようにする btn.addEventListener(MouseEvent.CLICK , link_btn ) //btnがロールアウトに反応するようにする btn.addEventListener(MouseEvent.ROLL_OUT , btn1 ) //btnがロールオーバーに反応するようにする btn.addEventListener(MouseEvent.ROLL_OVER , btn2) //btnにカーソルがヒットすると手の形にする btn.buttonMode =true //(buttonMode =true だとすべてのムービークリップがボタン扱いになります) //変数link = リンク先のURL var link:URLRequest = new URLRequest("http://oshiete.goo.ne.jp/"); //btnをクリックした時の処理 function link_btn(evt:MouseEvent):void{ //変数linkで設定したURLに飛ばす navigateToURL(link , "_blank") } //btnをロールアウトした時の処理 function btn1(evt:MouseEvent):void{ btn.gotoAndStop(1) } //btnをロールオーバーした時の処理 function btn2(evt:MouseEvent):void{ btn.gotoAndStop(2) }

ONIKUNOCHIKARA
質問者

お礼

具体的でわかりやすい説明ありがとうございます。早速やってみました。とても助かりました。

その他の回答 (3)

回答No.4

書き忘れてました。 btn内タイムライン1フレーム目に stop() をお忘れなく。チカチカしちゃいます。

  • aspnet
  • ベストアンサー率79% (72/91)
回答No.2

buttonMode = true; でボタンと同様の動作になります。 _up/_over/_downラベルのフレームを用意しておけばボタン同様の表示を行い、 hitAreaプロパティで、ボタンのhitラベル相当の機能を実装できます。 MovieClipのボタン機能は、Spriteクラスから継承したものなので、Spriteクラスの解説を読んでください。

参考URL:
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/display/Sprite.html
ONIKUNOCHIKARA
質問者

お礼

ありがとうございます。大変参考になりました。早速作っているところです。また他にもわからないところがでたときには是非お願いします。よくベストアンサーが2つのものをみかけるんで、できればaspnetさんに10P差し上げることできたらやりたいんですけどやり方わからなくてできません、すいません;ありがとうございました。

  • kuzumiHK
  • ベストアンサー率72% (132/183)
回答No.1

新規ボタンを作成して、ボタンをダブルクリックして、 ボタンの4つ?のコマに作成したムービークリップをペーストするではだめでしょうか。

ONIKUNOCHIKARA
質問者

補足

それはボタンシンボルのことですよね?ボタンシンボルだと入れ子にすることがよくないらしく、複雑なメニューが作れないぽいのです

関連するQ&A