• ベストアンサー

Flashでクイズの得点別にEDを変える方法

お世話になります。 Flash(CS6 AS2)を使用したクイズゲームを http://orange.2-d.jp/flash/action/19.html のサイトを参考にして作成してます。 点数別のエンディング(イラスト)を表示させたいと思っているのですが、 「点数別に文字やイラストの表示を変える方法」がわかりません。 どのようなスクリプトを使えばよいのでしょう? 教えていただけると嬉しいです。 宜しくお願いします。

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

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

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

そもそも, その提示されているページのサンプルは 『「ランダム問題出題」 ランダムに問題を出題して、100点になれば終了。』 という仕様(ルール)のゲームですよ。 つまり 元から100点にしかならない仕様(ルール)です。 (10問正解しないと終わらない仕様なのです。) ですから, 「点数別にエンディングのイラストを変える」 などという以前の話で 100点にしかならない仕様自体を変える必要があるということになります。 したがってまずは 「どんな仕様(ルール)にするのか?」 これを考えなければ, スクリプトも何も書けません。 本来は作成者(質問者)が仕様(ルール)を決めるべきです。 しかし何も書かれていないため何も回答できません。 これでは困ると思うので, 私(回答者)が勝手に仕様(ルール)を考えるとします。 /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/ ◎仕様(ルール) 『ランダムに問題を出題して、 1問10点の問題を10問解いた時点で終了。 そして得点に応じた絵柄を表示する。』 このような仕様(ルール)にするものとして 以下の回答を続けます。 提示されているページの 「サンプルダウンロード」より 「00.fla」をダウンロード&保存させてもらった上で その「00.fla」を改変する方向で回答します。 まず 「00.fla」のメインタイムラインの 「Action」レイヤー フレーム1 のスクリプトを次のようにします。 stop(); _global.point=0; //点数用変数の宣言と初期値設定 _global.seigo=0; //正誤判定用変数の宣言と初期値設定 _global.count=0; //←★付け加え そして 「正誤判定」レイヤー フレーム2 以降にある MC(ムービークリップ) である小さな○を選択し その MC 自体に書かれてあるスクリプトを 次のようにします。 onClipEvent (enterFrame) { if(_global.seigo == 1){ //正解の場合 _global.point+=10; //10点加算 _global.seigo =0; //判定初期化 this.gotoAndPlay("ok"); //ラベルokへ(○表示) _global.count++; //←★付け加え } if(_global.seigo == 2){ //不正解の場合 _global.seigo =0; //判定初期化 this.gotoAndPlay("ng"); //ラベルngへ(×表示) _global.count++; //←★付け加え } } 次にその 「正誤判定」レイヤー フレーム2 以降にある MC である小さな○内の編集に入り 「action」レイヤー フレーム19 に書かれてあるスクリプトを 次のようにします。 if(_global.count == 10){ // ←★変更 gotoAndStop(38); //38フレームへ(得点表示 } else{ ranf = Math.floor(Math.random()*10+2); _root.gotoAndStop(ranf); gotoAndStop(1); } また 同じ「action」レイヤー フレーム19 に書かれてあるスクリプトを 次のようにします。 // ↓★if else 文に変更 if(_global.count == 10){ gotoAndStop(38); //38フレームへ(得点表示) } else{ ranf = Math.floor(Math.random()*10+2); _root.gotoAndStop(ranf); gotoAndStop(1); } ここまでで 試しに ムービープレビュー または パブリッシュ してみます。 すると, 『ランダムに問題を出題して、 1問10点の問題を10問解いた時点で終了。 そして終了時に得点を表示する。』 という仕様(ルール)に変わっていると思います。 あとは, この仕様(ルール)の最後の部分 『そして終了時に得点を表示する。』 の部分を 『そして得点に応じた絵柄を表示する。』 に変えれば良いということになります。 その『得点に応じた絵柄を表示する。』方法など様々です。 例えば 上で編集していた MC 内の 「最終」レイヤーに新しいキーフレーム(フレーム39)を追加して そのフレームのステージ上に 「50点以下で不合格!」というような文字や絵でも置き, 「最終」レイヤーに新しいキーフレーム(フレーム40)を追加して そのフレームのステージ上に 「70点以下でもう少し!」というような文字や絵でも置き, 「最終」レイヤーに新しいキーフレーム(フレーム41)を追加して そのフレームのステージ上に 「80点以上で合格!」というような文字や絵でも置きます。 ※参考【添付図】↓ そして, 「action」レイヤー フレーム38 のスクリプトを 次のように変更しても良いでしょう。 //stop(); // ←★削除 // ↓★以下を追加 if(_global.point <= 50){ gotoAndStop(39); } else if(_global.point <= 70){ gotoAndStop(40); } else { gotoAndStop(41); } 実際は 『得点に応じた絵柄を表示する。』方法など無数にあります。 自分自身でどのようなことをしたいかを考えて その通りになるようにスクリプトを組めば良いと思います。

txmaki
質問者

お礼

丁寧なご回答ありがとうございます! 説明がとてもわかりやすく、試してみて無事EDを分岐させることが出来ました。 この度は大変お世話になりました。

関連するQ&A

  • Flashでランダムクイズゲームを作成する方法

    こんにちは。 Flashを使用してクイズゲームを作成しています。 30問から10問ランダムに出題して、正解の点数を出すようにする予定です。 現在↓のサイトを参考にして作成してます。 http://orange.2-d.jp/flash/action/19.html しかし、重複でランダム表示されてしまい行き詰まっています。 どのボタン、フレームにどのような命令をしたら良いのか分かりません… Flashに詳しい方、教えていただけると嬉しいです。

  • Flash Lite1.1のクイズ制作でのクイズ得点の出し方

    今、Flash Lite1.1でモバイル用に作っている三択式クイで、 10問ほど出題したあと最後にその得点を出したいと思っています。 こちらのサイトの http://www.condo.fromc.jp/flash/memo/index2.html ■クイズゲームのサンプル  を元に、Flash Lite1.1用にプログラムを書き直して作っているのですが、最後の正解、不正解に応じて得点が表示されるプログラムが どうしてもわかりません。 FLASH1.1形式で書き出せる方法があれば教えてください。 ご教授のほど、宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • flashの勉強をしています。古い映画のカウントダウンを作りたくて調べ

    flashの勉強をしています。古い映画のカウントダウンを作りたくて調べていたら下記サイトで作り方を紹介していました。 http://d.hatena.ne.jp/habu024/20091025/1256466188 説明通りに作業を進め最後のアクションスクリプトの記述をコピペしてプレビューしてみましたが、コンパイルエラーがでてしまいうまくいきません。 私はflash超初心者でアクションスクリプトの知識も全くありません。 なるべくわかりやすくご指導くださるとありがたいです。 ちなみにこのサイトで紹介しているのはアクションスクリプト3.0でしょうか? 私の使用してるソフトはアドビのflash CS4です。 アクションスクリプトを勉強しようとも思っているのですが、正直何から手を付けて良いのかもわからず困っています。 とりあえず無料で勉強できそうなサイトがありましたらご教授くださると助かります。 よろしくお願いします。

  • flash AS3.0についての質問です。

    flash AS3.0についての質問です。 http://www.geocities.jp/webcella/flash/imerjigazou/newpage2.html 上記のサイトのような感じで、ページを読み込むたびに、ランダムで外部swfを読み込ませたいのですが、 方法が分かりません。AS3.0のコードを出来れば、解説付で教えていただければ助かります。 よろしくお願い致します flash CS3

  • phpによるflashにデータを読み込む

    お世話になっております。 現在、MySQLのデータをFlashにで表示させたいですが、なかなか うまく行きません。(MySQL -> PHP ->flash) どなたか、ご教授よろしくお願いします。 http://oshiete1.goo.ne.jp/qa5664918.html こちらの php ファイルで表示されるデータをflashに読み込ませて flashに表示させたいです。 flashに書いたアクションスクリプトは http://oshiete1.goo.ne.jp/qa5673292.html にあります。 php側はブラウザで打つとちゃんとデータが出力されます。問題としては、flash側のアクションスクリプトの問題だと思いますが、、、 実際どのカテゴリー投稿したらいいか困って、両方出します。 ぜひ、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Flashをゼロから勉強する方法

    私はアドビのCS5フラッシュのソフトを持っているのですが、どの教材を利用して勉強したらいいのか迷っています。 「これからはじめるFlashの本」技術評論社 「Flash Professional CS5 マスターブック」マイコミ 「Flash レッスンブック CS5」ソシム 上記の三冊を購入したのですが、どれもど素人の私にはわかり難く、何か他にわかり易い本を探しています。そこでお聞きしたいのですが、FlashCS5を超初心者がゼロから勉強するのに適切な教材を教えてほしいです。よろしくお願いします。ちなみに、私は他のアドビCS5のソフトである、イラストレター、フォトショップ、ドリームウィバーなどは扱えますし、もちろんHTMLやCSSも大丈夫です。

  • Flash Player10はvista対応していない?

    CD-ROMコンテンツを制作しました。 FLASH CS4で制作 スクリプトはAS2.0 パブリッシュでFlash Player10+プロジェクタ というものです。 動作テストの結果、一部のvistaでは停止に近いコマ落ち再生になることがわかりました。 Adobe 製品の動作対応情報によると http://www.adobe.com/jp/support/winvista/ Flash Player 9(バージョン9.0.28.0以降)は、Windows Vistaとそれに同梱されるInternet Explorer 7に対応しています。 とありますが、 「Flash Player10」と記載されてないということは、未対応という事でしょうか?

  • Flash Liteで作成したFlash待ち受け画像をループ再生する方法

    超初歩的な質問になりますが、Flash Lite1.1で作成したFlash待ち受け画像を携帯上でループ再生する方法を教えて下さい。 Flash講座などでswfファイル自体にループ再生するよう指示するアクションスクリプトの書き方を探して試してみましたが、ループしませんでした。auのFlash lite対応機種2台で試しました。 単に書き方が間違っているのでしょうか?それとも、ループ再生させるアクションスクリプトはFlash liteには対応していないのでしょうか?何か別の方法があるのでしょうか?アクションスクリプトは全くわからないので、検討もつかないという状態です。 どうぞ宜しくお願いします。

  • Flash ? Action Acript?

    最近Youtubeなどのリッチコンテンツのサイトをみて自分もFlashを始めてみようと思っているのですが、調べるとAction Scriptにたどり着きました。 実際に行いたいことはサイトの上にFlashで作った簡単なメール送信スクリプトをおき、送信ボタンがクリックされるとデータがPerlを返し送信され、送信が終わるとPerlからtureが返されます。tureを確認したら完了メッセージを表示するFlashを作りたいのですが、これはAdobeなどのFlash8だけで作成できるものなのでしょうか? それとも新たにプログラミング言語のようなAction Scriptを覚える必要があるのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • Flash
  • FlashからサーバーのXMLに書き込み・上書き の方法

    質問させていただきます。 ・Flash CS3 ・AS2.0 あるXMLを読み込み、結果を表示するFlash(本体Flash)を、別のFlash(更新Flash)からXMLを更新できないかと考えています。 (全て同サーバー上) 質問させていただきたい点は「データ間の通信」についてです。 phpを挟めば出来るようですが、ある事情によりphpを極力使いたくないのです。そこでFlashのみで更新できないかと考えました。 自分なりに調べてみたのですが、読み込みはあっても書き込む方法が見つからず、ここに書かせていただきました。 ずばりな回答でなくても結構です。参考になりそうなサイトを教えていただけるだけでも幸いです。でも正直ずばりだと助かります…。 宜しくお願い致します。

    • ベストアンサー
    • Flash

専門家に質問してみよう