• 締切済み

ボタンについて(CS4,AS3)

HPのメニュー用に、クリックするとフレーム移動するボタンを作っています。 フレーム1以外のフレームには、フレーム1に設置してあるボタンで指定したフレームとは異なるフレームに 移動させたいので、新たにフレーム1のボタンとは別のボタンを設置しています。 プレビューでフレーム1のボタンをクリックすると正常に動くのですが、 フレームが移動した後に再度ボタンをクリックすると動かず、全てのボタンが反応しません。 ■フレーム1に設置してあるボタン test_a1.addEventListener(MouseEvent.CLICK , testA1); test_b1.addEventListener(MouseEvent.CLICK , testB1); test_c1.addEventListener(MouseEvent.CLICK , testC1); function testA1(event : MouseEvent) :void{ gotoAndPlay(1); } function testB1(event : MouseEvent) :void{ gotoAndPlay(51); } function testC1(event : MouseEvent) :void{ gotoAndPlay(101); } ※フレーム1、51、101にはstop();で停止するようにしています。 ■フレーム51に設置してあるボタン test_a2.addEventListener(MouseEvent.CLICK , testA2); test_b2.addEventListener(MouseEvent.CLICK , testB2); test_c2.addEventListener(MouseEvent.CLICK , testC2); function testA2(event : MouseEvent) :void{ gotoAndPlay(11); } function testB2(event : MouseEvent) :void{ gotoAndPlay(61); } function testC2(event : MouseEvent) :void{ gotoAndPlay(111); } コンパイルエラーは出ていません。 ネットで調べても何故、フレーム1以外のボタンが動かないのか分かりません。 どなた様か教えていただけると助かります。 使用しているソフトはAdobe Flash CS4で、スクリプトはActionScript3.0です。 よろしくお願いします。

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

単なる報告ですが, 書かれていらっしゃるようなものを作成して, スクリプトもそもまま貼り付けてみましたが, フレーム1以外のボタンが動かないという現象は起きませんでした。 インスタンス名の付け忘れなども考えられますが, その場合はエラーが出ますよね。  ~エラー例~   シーン1,レイヤー'ActionScript',フレーム51、行3   1120:未定義のプロパティ test_a2 へのアクセス このようなエラーも出ないのでしたら, インスタンス名の書き間違いや書き忘れの可能性も低いです。 とにかく フレーム1以外のボタンが動かないという現象は起きないのでわかりません。 *ー*-*-*-*-*-*-*-* ただ, 最初にボタン「test_b1」をクリックしたとします。 すると フレーム51 に行きますが そのフレームには「test_a1」,「test_b1」,「test_c1」は存在しません(インスタンスは消えています)。 代わりに「test_a2」,「test_b2」,「test_c2」が新登場します。 このフレーム51で次に ボタン「test_a2」 をクリックしたとします。 すると フレーム11 に行きますが, そのフレームにはボタン「test_a1」,「test_b1」,「test_c1」が存在します。 これらのボタンは一度消えてから再登場するので新登場することと同じになります。 新登場したこれらのボタンにはイベントリスナーは登録されていないので, ボタンとしての動作はしません。 イベントリスナーの登録スクリプトはフレーム1です。フレーム11にはありません。 ※こういうやっかいな現象がおこるのは   AS1やAS2で使えていた on(release) などの onハンドラ が   使えなくなったことによる弊害です。   何気なく適当に他のフレームに移動することはできなくなりました。 そのフレーム11での動向が気になりますが, フレーム1以外のボタンが動かないという現象は起きませんでした。 少なくともフレーム51のボタンは動作します。

関連するQ&A