- ベストアンサー
ボタンのスクリプト
Flash8を使っています。 10個ほどのシーンを作り,スタート画面になるシーンにメニューボタンを作りました。メニューボタンはクリックするとサブメニューが出てくるように設定しています。サブメニューをクリックすると他のシーンに飛ぶようにしたいのですが,うまくいきません。サブメニューに貼り付けたスクリプトは以下の通りです。 on (release) { gotoAndStop("シーン名", 1); } ちなみにメニューボタンはシンボルの編集画面で作成しサブメニューのボタンのスクリプトもそちらで記入しています。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 >ムービークリップ「メニューボタン」の編集画面のタイムライン う~~ん? ムービークリップ「メニューボタン」の中にボタンシンボル「サブメニュー」がある状態なのでしょうか? それとも、ムービークリップの中にボタンシンボル「メニューボタン」とボタンシンボル「サブメニュー」がある状態でなのでしょうか? もし前者ならば、それでは作動しません。 後者でも、別にムービークリップにする必要はないのですが・・・(他の事情の為なら別ですが)手頃な作り方を紹介しますね。 **************** シーンで this.stop(); と止めて、ボタンシンボル「メニューボタン」を配置します。 次にキーフレームを作り、そこにボタンシンボル「サブメニュー」を配置します。また、そこでも this.stop(); で止めてます。 そして「メニューボタン」には on (release) { _root.play(); } とし、「サブメニュー」にはあなたが書いているスクリプトを書いてください。 ちなみに「メニューボタン」からマウスを外せば「サブメニュー」が消てほしいのならば、どちらとも「メニューアイテムトラック」にしたり、もう少しボタンを配置する必要があります。(この方法は「メニューアイテムトラック」で検索すれば、いくつか出てきます)
その他の回答 (3)
- perse
- ベストアンサー率74% (113/152)
シーン移動で使う gotoAndStop は ムービークリップのメソッド MovieClip.gotoAndStop とは別物で _root(土台となる一番上のタイムライン)上でなければ動作しません。 ですので_rootに関数を作ってそれを呼べばいいと思います //_rootに記述 function GotoScene2(frame:Object) { gotoAndStop("シーン 2", frame); } //サブメニューボタンに記述 on (press) { _root.GotoScene2(1); } ちなみに パブリッシュするとシーンは繋がって一つのタイムラインになります。 つまりswfにはシーンの情報(シーン名とか)がありません。 そのためgotoAndStop()で指定するシーン名に変数は使えません。 ActionScriptを使うのであればシーンは使わずMCを使ったほうがいいですよ。
お礼
お礼が遅れてすみませんでした。ご指示通り何度かチャレンジしてみましたが,うまくいきませんでした。 私のほうで何か初歩的なミスをしているのだと思います。 ありがとうございました。
- suzuko
- ベストアンサー率38% (1112/2922)
>メニューボタンはクリックするとサブメニューが出てくるように設定しています。 これはどのタイムラインに出てきているのでしょうか?
補足
ご返答ありがとうございます。 ムービークリップ「メニューボタン」の編集画面のタイムラインに設定しています。
- kancil
- ベストアンサー率27% (26/95)
ひとまず以下のように_rootもしくは_level0を つけてみてはどうですか? あとは参考書等で「階層」に関することを読んでみると なんでうまくいかなかったがわかると思いますよ。 on (release) { _root.gotoAndStop("シーン名", 1); }
お礼
教えられたとおりやってみましたがうまくいきませんでした。根本的なところで何か間違っているのだと思います。 階層についてゆっくり勉強してみたいと思います。 ありがとうございました。
お礼
私は前者なのかもしれません。 もう少し勉強してみたいと思います。 2回もご返答をいただき本当にありがとうございました。