• ベストアンサー

Flashでボタンが全て押されたら次のフレームに飛びたいです。

flashで、隠れている動物を探すゲームを作っています。 動物が隠れている場所はボタンになっていて、クリックすると動物が 姿を現すようになっているのですが、 全てのボタンが押されたら次のフレームに飛んでクリア画面を出したいのです。 if(ボタンを全部押したら) { 次のフレームへ移動 } 上のようなスクリプトも書いてみましたが駄目でした。(私の書き方が間違えているだけなのかもしれませんが・・・) ボタンは全部で10個あり、それぞれbtn_1、btn_2..というような名前を付けています。 回答よろしくおねがいします。

  • Flash
  • 回答数1
  • ありがとう数1

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

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

具体的なActionScriptも書かれていませんし, ActionScript のバージョンも書かれていらっしゃいませんから, 具体的な回答は無理ですね。 フラグとなる変数を 10 個作るか フラグとなる要素 10 個入りの配列を1個作って, ボタンをクリックする前にそれらの変数または配列要素にすべて 0 を代入しておいて, ボタンをクリックするときにそのボタン対応のフラグの値を 1 にして, それと同時に  if(10個のフラグの値の合計が 10 になれば)  {   次のフレームへ移動  } とすれば良いのではないでしょうか? スクリプトイメージ↓ -------------------------------- フラグ0 = 0; フラグ1 = 0; フラグ2 = 0; フラグ3 = 0; フラグ4 = 0; フラグ5 = 0; フラグ6 = 0; フラグ7 = 0; フラグ8 = 0; フラグ9 = 0; ボタン0 クリック時 {  フラグ0 の値を 1 にする;  フラグ0~9の値を全部加算する;  if(10個のフラグの値の合計が 10 になれば)  {   次のフレームへ移動;  } } ボタン1 クリック時 {  フラグ1 の値を 1 にする;  フラグ0~9の値を全部加算する;  if(10個のフラグの値の合計が 10 になれば)  {   次のフレームへ移動;  } } …略… ボタン9 クリック時 {  フラグ9 の値を 1 にする;  フラグ0~9の値を全部加算する;  if(10個のフラグの値の合計が 10 になれば)  {   次のフレームへ移動;  } } ------------------------------- もっとも, for 文でもっと短くしたり,  フラグ0~9の値を全部加算する;  if(10個のフラグの値の合計が 10 になれば)  {   次のフレームへ移動;  } 部分を別 function にまとめてしまうなどの方法を使えば, スクリプトはもっと短くできると思いますが, そういうことをしない場合のイメージです。

aoumidori
質問者

お礼

ご回答ありがとうございます! BlurFiltanさんに書いて頂いたスクリプトイメージをヒントに打ち込んでみたらちゃんと動作しました! 質問内容が具体的でなかったのに(申し訳ないです)、丁寧な回答頂けたことに感謝します。ありがとうございました!

関連するQ&A

  • FLASHのボタンによるフレーム切り替えについて

    FLASHには、ボタンをクリックすると他のフレームに移る機能があります。(goAndPlay()など) ここで質問です。 http://t.pic.to/xhtrpのように、ボタンをクリックしたら、そのクリック先のフレームが左(あるいは右)から表れて移動するようにしたいのです。 ご伝授ください。

    • ベストアンサー
    • Flash
  • FLASHでボタンごとに違うフレームに移動する場合

    こんにちわ。 FLASHにて4つのそれぞれのボタンを作成し、そのボタンをクリックするとそれぞれ違うフレームに移動するにはどうすればいいのでしょうか? 例 Aボタン→フレーム10 Bボタン→フレーム20 Cボタン→フレーム30 Dボタン→フレーム40

    • ベストアンサー
    • Flash
  • FLASH 次のフレームにいくと真っ黒に・・

    FLASHはまだあまり使いこなせておりません・・。 写真を加工したものをFLASHで公開します。 FLASHで、写真をクリックすると、次の写真へアニメーションをつけながら移動させようと思っております。 詳細を説明しますと、背景を黒にし、その上に写真を貼り付けております。 透明ボタンを設置しそこに「nextframe」を指定し、次の写真の表示は、カラーを「アルファ」で少しずつ表示させるようにしております。 (フレームには「stop」を、写真の部分に「nextframe」を入れております) 途中までうまくいったのですが、 2~3枚目の写真までいった時に、背景の黒だけが表示され、写真のアニメーションも表示されず・・・・・。 うまくいってる方のものと、見比べました。 ですが、ちゃんとアクションもあってると思いますし、どこが間違ってるのが、??です・・・。 いろいろ考えたり調べたりしたのですが、どうしてもわからず・・・。 下手な説明で申し訳ございませんが、教えて下さい! お願い致します!

    • ベストアンサー
    • Flash
  • ボタンとASが1フレーム目にないとエラーになるのは仕様ですか?

    CS4、AS3.0で作成しております。 クリックすると指定したシーンへ移動するスクリプトを作成しました。 ボタンが複数あるので、各ボタンにインスタンス名を入れてます。 //各ボタンが押されるのを監視 this.menu_btn.addEventListener(MouseEvent.CLICK,menu); this.shop_btn.addEventListener(MouseEvent.CLICK,shop); this.access_btn.addEventListener(MouseEvent.CLICK,access); //クリックされたとき、指定フレームまで移動 function menu(e:MouseEvent):void { this.gotoAndPlay(69); } function shop(e:MouseEvent):void { this.gotoAndPlay(75); } function access(e:MouseEvent):void { this.gotoAndPlay(78); } で、ボタンとASを1フレーム目に入れれば作動するのですが、両方とも2フレーム以降に持ってくるとエラーが出て作動しません。 「TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。」と出ます。 ボタンの数を1つにしても同様でした。 プログレスバーを作るのに、2フレーム目に持ってきたいのですが、これはCS4の仕様かバグなのでしょうか? 回避する方法はありますでしょうか? よろしくお願い致します。

    • ベストアンサー
    • Flash
  • FlashのActionScriptについて

    FlashのActionScriptについて質問です。 Yesか Noを選択する、診断テストみたいなフラッシュを作りたいのです。 1フレームには一番はじめの Yes Noが表示されています。 それのどちらかのボタンをクリックするまで、次のフレームに流れないようにするには、 1フレーム目にstop();でよいのでしょうか? それとも、sotoAndstopとかなのでしょうか? また複数のレイヤーがあるときstop();などのアクションスクリプトは 全部につけなければいけませんか?

  • Flash、ボタンが動かない!?

    Flashでコンテンツ制作中です。 ボタンが思うとおりに動きません。 まず、シーン1上に、レイヤー10枚400フレームほどでアニメーションを作っています。 まずは、あるボタンをクリックすると、他のフレームに移動するように作っています(移動はすべてフレームラベルをつけて移動しています)。 移動先はアニメーションなのでシンボルでアニメーションクリップ化しています。 そのアニメーションクリップはいくつかのボタンの集合体です。ボタンをクリックするとまた別のフレームに飛ばしたいのですが、うまく出来ません。 ボタン自体が動いていないわけではありませんでした。 on (release) {getURL("http://www.~~/");}にするとちゃんとページを表示します。 on (release) {gotoAndPlay("main");}とすると移動しません。 on (release) {gotoAndPlay("シーン 1", "main");} でもダメでした。 ラベルのスペル間違えではないとした場合、他に何かダメな理由が考えられることはありますか? よろしくお願いします。

  • Flash ActionScript3.0ボタン.

    このまえはじめたばかりの初心者です。FlashCS4です。 Flash ActionScript3.0ボタンでフレームに飛ぶ方法がわかりません・・ AS3.0ではボタンにスクリプトが書けないので メインタイムラインの最初のフレームにスクリプトを書くのですよね? アドレスに飛ぶ方法は this.stop(); // イベントを設定 stage.addEventListener( MouseEvent.CLICK , onClick ); // 画面クリックをするとonClickが動作するイベント function onClick ( event:MouseEvent ) { // URLRequestを設定 var url:URLRequest = new URLRequest( "http://www.google.co.jp" ); // 実際にページに飛ぶ navigateToURL( url ); } こちらであっていますでしょうか・・? これを多少いじって次のフレームに飛ばそうとおもうのですが、うまくいきません・・ どなたか、flashサイトでも、わかりやすいところがあれば ご伝授お願いします。

  • Flash フレームを移動しても音が残ってしまう

    Flash フレームを移動しても音が残ってしまう 初心者です。フレーム間の移動について質問させて下さい。 1フレーム目にメニューボタンを配置し、ボタン1クリック(gotoAndStop(5))で、動画再生のSWFを配置した5フレーム目へ飛ばしています。 1フレームのボタン2クリック(gotoAndStop(4))で、画像を配置した4フレーム目へ飛ぶようにしています。 ボタン1で5フレームで動画を再生、その最中にボタン2をクリックするとステージ上は4フレーム目になりますが、再生中の動画の音声が消えません。 どういう処理が必要なのか具体的に教えていただけませんでしょうか。 AS3.0になります。

  • Flashメニューからフレーム内へのリンク

    こんにちは。 同じような質問も多数あったのですが、よくわからないので質問させていただきます。 Flashでメニューをつくり、index.htmlのtopFrameに配置しました。(index.htmlは、フレームを上下に分けてあり、topFrame、mainFrameと名前がついています) そこで、topFrameに配置してあるフラッシュのメニューボタンをクリックすると、mainFrameが他のページに切り替わるように設定したいのですが、どのように記述すればよいのでしょうか? ボタンにのみ、記述すればよいのですか? できれば実際のスクリプトを教えていただけると大変助かります! よろしくお願いします。

    • ベストアンサー
    • Flash
  • Flash MCのモーショントウィーン

    Flash CS5 ActionScript 3.0にて制作しています。 ムービークリップに動きをつけて色を変更するスクリプトを書いています。 ・ボタン1を押すとムービークリップの色が変わる ・ボタン2を押すと10フレーム目に飛んでモーショントウィーン それぞれ機能は正常に動くのですが、ボタン1を押した後にボタン2を押すとモーショントウィーンが動きません。 ボタン2を押した後にボタン1を押す場合は動きます。 ムービークリップのインスタンス名はtest として下記のようなスクリプトを書いています。 どなたか、お力をお貸し下さい。 よろしくお願い致します。 btn.addEventListener(MouseEvent.CLICK, black); black(event:MouseEvent):void { var color = new flash.geom.ColorTransform(0, 0, 0, 1); test.transform.colorTransform = color; } btn2.addEventListener(MouseEvent.CLICK, btn2); function btn2(event:MouseEvent):void{ gotoAndPlay("10"); }

    • ベストアンサー
    • Flash

専門家に質問してみよう