• ベストアンサー

FLASHのボタンの動作(他のボタンにロールオーバーしたら…)

AというボタンとBというボタンがあります。 Aには on (rollover) { this.gotoAndPlay(2); } on(rollout){ this.gotoandplay(6); } というアクションがついていますが、 「rollout」ではなくて、「Bのボタンにrolloverしたら」というように変えたいのですが、 どのように記述したらよろしいでしょうか? よろしくお願いします。

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

  • ベストアンサー
noname#5549
noname#5549
回答No.2

こんばんは。 もちろん可能です。 「入れ子」という概念はご存じですか? Flashだけの概念ではないですが、動作の殆どはこの発想で解決します。 例えば、ボタンだからってボタンシンボルを素直に置くのではなく、 MCの中にボタンシンボルを配置すると、話は随分違ってきます。 そのMCの1フレにボタンシンボルAを入れstop()をかける、ロールオーバーで2フレに移動、 メニューを表示(もちろん各メニューにはボタンシンボルを付ける)、 ここで最初のボタンAは消え、ボタンB(ヒットのみ)を表示、ボタンBのヒットは「メニューの外部一定範囲」にする。 ボタンBロールオーバーで1フレに戻す。 これが基本。 あとは同じようなMCを複製し、 それぞれカスタマイズ、さらにボタンAロールオーバーの命令に、 各MCを1フレにするスクリプトを付け加える。↓ <サンプル> on (rollover) { this.gotoAndPlay(2); _root.MC2.gotoAndPlay(1); _root.MC2.gotoAndPlay(1); _root.MC2.gotoAndPlay(1); } てな感じです。 あとは創意工夫でもっと使いやすくしてください。

KODAMAR
質問者

お礼

無事できました。 ありがとうございました。

その他の回答 (1)

noname#5549
noname#5549
回答No.1

こんばんは。 では、単純にBのボタンにスクリプトを 書けばいい気がしますが、何か意味が違うんでしょうか? 類似してますが、ボタンのオブジェクトと、 動作させたいオブジェクトが異なる場合、 (もちろん、それも含めてボタン化しても良いのですが) 現状で「this」となっている部分を、 _root.MC名.gotoAndPlay(2); などとすることで実現できます。

KODAMAR
質問者

お礼

回答ありがとうございます。 Bのボタンにもスクリプトをかいているのですが、 ちょっと意図した動きではないので…。 AとBはサイトのメニューを表示するためのボタンです。 例えばAにロールオーバーすると、「トップ」「1番目」というメニューが、 Bにロールオーバーすると「2番目」「ラスト」というメニューが出てくるとします。 Aにロールオーバーして、その中からメニューを選ぶために「rollout」は使えません。 そしてBにロールオーバーしたらAに出ていたメニューを消す、というようにしたいのです。 これらの動作はボタンのActionScriptで制御できるでしょうか?

関連するQ&A