Flash lite1.0で計算クイズを作成する方法

このQ&Aのポイント
  • 初心者でもモバイル版のFlash lite1.0を使用して計算クイズを作成する方法について教えてください。
  • スタート画面でボタンを押すとクイズが始まり、ランダムに表示される問題に答えを入力します。
  • 問題終了後は正解率やかかった時間をランキングに表示する仕様にしたいです。また、問題数を増やす方法と答えの入力方法も教えてください。
回答を見る
  • ベストアンサー

Flash lite1.0の計算クイズ

初めまして。 初心者ですがモバイル版のFlash lite1.0で計算クイズを作成したいと思っています。 スタート画面でスタートを押すとクイズが始まり ランダムで問題が表示され、答えを数字ボタンで入力後 正解だと○不正解だと×と表示され また問題へ進んでいき、100問終了後 正解率とかかった時間をランキングに飛ばす と言う仕様で作成していきたいと思っているのですが 現在作成しているスクリプトではランダムはできているのですがクイズが9問までしかできません。 また、問題を表示できても答えを入力し、正解・不正解の表示をさせる方法がわかりません。 問題を100問作成する方法と答えを入力する方法を教えてください。(答えは二桁まで入力可能にしたいです) 説明がわかりづらいかもしれませんが 宜しくお願いします。

noname#43612
noname#43612
  • Flash
  • 回答数2
  • ありがとう数4

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

  • ベストアンサー
noname#35109
noname#35109
回答No.1

> クイズが9問までしかできません。 意味不明,全く理解不能です。 どういうルールで,9問しかできないようにしているのでしょうか? その方法がわかりません。 それ以前に,普通のFlash は作れるのでしょうか? 携帯用Flash は 普通の Flash の10倍くらい難しい物だと考えた方が良いです。 場合によっては 1000倍以上難しいです。 今回の場合は, 携帯用の Flash も普通の Flash もさほど変わらないと思いますが, スクリプトの制約,画面の大きさの制約,マウスが使えないという制約,パスの数(図形の複雑さ)の制約,容量の制約… などなど, 普通の Flash を作れない人には,携帯 Flash は当たり前ですが無理です。 普通の Flash を自力で作ることができれば, 場合によって,携帯 Flash も作成可能かもしれません(不可能かもしれません)。 > 答えを入力し、正解・不正解の表示をさせる方法がわかりません。 テキスト入力のテキストフィールドを用意して, 入力してもらうようにして, 正解 であれば," 正解" などと表示されたフレームに 不正解 であれば,"不正解" などと表示されたフレームに それぞれ飛ぶという方法で良いのではないでしょうか。 > 答えは二桁まで入力可能にしたいです テキストフィールドを選択して, 下のプリパティパネルで,最大文字数を 2 にすれば良いと思います。 == 作成例 =================== ~概要~           1       5  レイヤー ・・・|○|○|○|○|○| ←スクリプト用  レイヤー ・・・|●|●|●|●|●| ←ボタンなど  フレーム1 …「スタート」ボタン  フレーム2 …問題表示&回答  フレーム3 …「正解:○」を表示  フレーム4 …「不正解:×」を表示  フレーム5 …時間と正解率の表示(終了) ~詳細~ ◎フレーム1 用意する物 ・「スタート」ボタン(インスタンス名不要) フレーム1のフレームに書くスクリプト ---------------------- stop(); // 問題数の設定(可変) n = 100; // カウントの初期化 count = 0; // 得点の初期化 tokuten = 0; ---------------------- フレーム1 の「スタート」ボタンに書くスクリプト ---------------------- on (release) { time1 = getTimer(); gotoAndStop(2); } ---------------------- ◎フレーム2 用意する物 ・「toi」という 変数名 のダイナミックテキストのテキストフィールド ・「touan」という 変数名 のテキスト入力のテキストフィールド  (最大文字数を 2 に設定しておく) ・「OK」ボタン(インスタンス名不要) フレーム2のフレームに書くスクリプト ---------------------- // a にランダムな 0~99 までの 100個の乱数を代入 a = random(100); // a と足しても99までにしかならない乱数を代入 b = random(100-a); // 問いテキストフィールドの表示 toi = a add "+" add b add "="; // 答案の初期化 touan = ""; ---------------------- フレーム2 の「OK」ボタンに書くスクリプト ---------------------- on (release) { // カウントに 1 を加算 count++; // もし答案が正解であれば if (touan eq a+b) { // 得点に 1 を加算 tokuten++; // フレーム3へ gotoAndStop(3); } else { // それ以外(不正解)であればフレーム4へ gotoAndStop(4); } } ---------------------- ◎フレーム3 用意する物 ・「正解:○」などのテキストまたは絵など ・「OK(次へ)」ボタン(インスタンス名不要) フレーム3 の「OK(次へ)」ボタンに書くスクリプト ---------------------- on (release) { // もしカウントが設定回数に達したら if (count == n) { // フレーム5 へ進む gotoAndStop(5); } else { // それ以外は問題に戻る gotoAndStop(2); } } --------------------- ◎フレーム4 用意する物 ・「正解:×」などのテキストまたは絵など ・「OK(次へ)」ボタン(インスタンス名不要) フレーム4 の「OK(次へ)」ボタンに書くスクリプト (フレーム3のボタンと全く同じ) ---------------------- on (release) { // もしカウントが設定回数に達したら if (count == n) { // フレーム5 へ進む gotoAndStop(5); } else { // それ以外は問題に戻る gotoAndStop(2); } } --------------------- ◎フレーム5 用意する物 ・「time2」という 変数名 のダイナミックテキストのテキストフィールド ・「seikairitu」という 変数名 のダイナミックテキストのテキストフィールド ・「リプレイ」ボタン(インスタンス名不要) フレーム5 のフレームに書くスクリプト ---------------------- // time2 に経過時間を代入 time2 = (getTimer() - time1)/1000; // 正解率 を表示 seikairitu = tokuten add "/" add n; --------------------- フレーム5 の「リプレイ」ボタンに書くスクリプト ---------------------- on (release) { gotoAndStop(1); } ---------------------- また, 必要に応じて,終了するボタンを用意して, ---------------------- on (release) { getURL("任意の別のページ"); } ---------------------- などを用意しておくなど, 他は工夫次第で様々なことをすればOK。 ========================= こんな感じで,簡単に作れます。 また, 他にも色々方法はあると思います(ありすぎると思います)。 色々考えて見られてはいかがでしょうか。

noname#43612
質問者

お礼

ご返答ありがとうございます。 >普通のFlash は作れるのでしょうか? 普通のFlashではまだ作成した事はございません。 仕様の説明不足、申し訳ございません。 まず、問題部分ですが0~99の乱数となっておりますが、0を省きたいのですがどのようにしたら省けるでしょうか? また、答えを入力する際、問題画面上に直接答えを入力させ、(答えが2桁の場合があるので答えを入力してから2秒後) 「OK(次へ)」ボタン無しに自動的に正解・不正解を表示させたいと思っております。 また、正解・不正解が表示されている際、タイマーを止めたいのですが可能でしょうか? 質問ばかりですが宜しくお願いします。

その他の回答 (1)

noname#35109
noname#35109
回答No.2

#1です。 > 問題部分ですが0~99の乱数となっておりますが、 > 0を省きたいのですがどのようにしたら省けるでしょうか? 単純に1を足せば良いですね。 また,0を除く分,個数は1つ減ります。 a = random(100);  ↓変更↓ a = random(99)+1; > また、答えを入力する際、 > 問題画面上に直接答えを入力させ、 これは,意味がわかりません。 入力したものを表示させる何かが必要だと思いますが。 入力したものを表示させる何かというのがテキストフィールドです。 大きさや場所はどこでもかまいません。 > (答えが2桁の場合があるので答えを入力してから2秒後) この人(計算ゲームをしている人)は, 1桁の数を打とうとしているのか,2桁の数を打とうとしているのか,どうやって判断するのでしょうか。 判断はできませんね。 12 を答えたくて,1を入力した1時間後に2を入力する場合も考えられます。 ですから, 入力完了かどうかはボタンを押すなどが必要となります。 「入力してから2秒後」 ではなく, 「入力を開始した2秒後」だと,なんとかすればできると思います。 Flash Lite 1.0 では,テキストフィールドの値を監視するようなメソッドはありませんから, テキストフィールドの値を監視する構造体を自作しなければなりません。 ムービークリップを1つ作って, そのムービークリップのフレームを複数フレームにしてループさせ, テキストフィールドに値が入った瞬間("" でなくなったとき)に, play(); などでフレームを進ませ,15fps だと 30フレーム 後に, 判定させるスクリプトで○か×のフレームにジャンプさせるのが簡単だと思います。 そのときのタイマー時間表示は, この辺をご覧(Flaファイルダウンロード)になって,研究してみてください。 「FLASH4スクリプト ストップウォッチ」 http://fpower.org/old/f4timer.htm Flash Lite 1.0 は Flash 4 仕様です。 文法やスクリプトは現在のものと違いますが, 「lbf4timer1.fla」を Flash 8 などで開くと,旧スクリプトは現在のスクリプトに自動的に書き替えられますので,即,Flash Lite 1.0 で使用可能です。 しかし,サンプルのように _root でグルグルループされては困ります。 ですから,これもムービークリップ を1つ作って, その中の フレームをグルグルループさせ,時間を計測する必要が出てくると思います。 「答えを入力してから2秒後」 ではなく 「問題が表示されて2秒後」 だと, 自動ジャンプ可能です。 ただし,この場合, 100問を終える時間は最初からわかっているので(例:2秒×100問=200秒), タイマーの意味はなくなります。 これも実際の時間を指定するより, フレームレートを 15fps にして,30フレームで 2秒経過とする方がずっと簡単ですね。 また, Flash Lite では, ムービークリップから他の階層のタイムラインを進めたり止めたりするのには, tellTarget() を使います。 ---例--------------- tellTarget ("/") { gotoAndStop(5); } -------------------- これは現在の _root.gotoAndStop(5); と同じ事ですが,コレ↑は Flash Lite では通用しません。 全体的に, 書かれているようなことは,結構難しいと思いますよ。 普通の Flash ではそんなに難しくありませんが, Flash Lite となると難しくなります。 しかし,基本的に考えるとできなくも無いことだと思うので,考えることです。

noname#43612
質問者

お礼

答えを入力する際、問題画面上に直接答えを入力させ と言う物なのですが、 現在、携帯で答えを入力する際、テキストフィールドにフォーカスを合わせて決定し、携帯の文字入力画面で 入力文字を漢字から数字に変更し、そこで文字を入力し、決定する・・・と言う方法になっているので 直接問題画面のあるtouanのフィールド上に数字で入力したいと言う事です。 またsassakunさんのおっしゃる通り「入力してから2秒後」 ではなく、「入力を開始した2秒後」でした。 テキストフィールドに値が入った瞬間("" でなくなったとき)に, play(); はif文でムービークリップの中に書けばいいのでしょうか? ("" でなくなったとき)は(!"")だとはわかったのですが、テキストフィールドに値が入った瞬間 の書き方が分からない状態です。

関連するQ&A

  • Flash lite1.0の計算クイズ

    足し算と引き算の問題をランダムで表示させ、 テキストボックスに答えを入力すると言うクイズを作成しています。 ですが、足し算と引き算を表示させるスクリプトを書いても引き算しか表示されません。また、引き算は2-5等、答えがマイナスになってしまう物もあります。 足し算と引き算をランダムに出し、引き算の場合マイナスにならないようにする為にはどのようにすればいいでしょうか? 分かる方がいらっしゃれば教えて下さい。

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

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

    • ベストアンサー
    • Flash
  • Flashでランダムクイズゲームを作成する方法

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

  • JavaScriptで簡単なクイズを作りたいんですが

    今HPを作っていて簡単なクイズを入れたいのですが JavaScriptを使ってしようと思ったのですが行き詰りました・・・ クイズの形式は問題をあらかじめ書いていて テキスト部分に答えを書いて ボタンをクリックすると「正解!」や「不正解!答えは○○」 と表示されるようなものです いろんなサイトを見たのですがよく理解できませんでした サンプルのソースなどを書いていただくとありがたいです 宜しくお願いします

  • モバイル版(Flash lite1.0)でカウントダウン中一旦停止し、またカウントダウンさせる方法

    初めまして。 モバイル版のflashで3択の時間制限付きのクイズを作成しております。 仕様としては、 1フレーム目:スタート画面 5フレーム目:時間制限・問題・3択答え部分 9フレーム目:正解画面 14フレーム目:不正解画面 19フレーム目:終了画面 現在タイマーは60秒からカウントダウンしており、 答えを選択し、正解又は不正解の表示後 次の質問に戻るのですが、 タイマーがまた60秒からカウントダウンになります。 1問目で60・59・58秒で答えボタンを押したとし、正解・不正解部分でいったん秒数が止まり、2問目でまた58・57・56・55・・・となるようにするにはどのようにすればよいか教えて下さい。 宜しくお願い致します。

  • 算数のクイズ

    算数のクイズでどうしても解けない問題があり、解放を教えてください。 問)6×6のボードにチェスのナイトを置き、全てのマスに同じマスにとまらずにスタート位置に戻る。 ランダムにマスを埋め、答えを導き出すだけでなく、その考え方を教えてください。 よろしくお願いします。

  • クイズの解答によってボタンの画像を変える

    Flashは初心者ですが、現在クイズを作成しています。 ボタンを押すとクイズが画面の半分に出てきて回答を選ぶと正解か不正解が分かります。 全部で20問くらいあるのですがランダムに並んで知るので、クイズの途中でもどのボタンが回答済み(正否も)か分かるようにするためです。 あるクイズが終わったら例えば正解ならボタンの色が青に、不正解ならボタンの色が黄色に変わるようにする方法が分かりません。 正解と不正解で飛ばすフレームを変えようと思ったのですが、他のボタンの処理が分かりません。 宜しくおねがいします。

  • 算数のクイズ

    算数のクイズでどうしても解けない問題があり、解放を教えてください。 問)6×6の将棋版中央部に桂馬を置き、全てのマスに同じマスにとまらずにスタート位置に戻る。 ランダムにマスを埋め、答えを導き出すだけでなく、その考え方を教えてください。 よろしくお願いします。

  • ウェブでクイズ、ランキング

    Webでクイズを作ってその結果をランキングで表示できるようにしたいです。 数年前までは、CGIのスクリプトか何とかをとにかくいじってできるようになりました。 今風のスマホやタブレット、PCなどから見られてクイズとそのランキングが作れるようなソフトはありますでしょうか。

  • クイズサイトの作成

    20問程度のクイズを行うサイトの作成を考えています。ほしい機能は、最終的に点数、正解率が表示される。解答は、5つぐらいのプルダウンメニューもしくは、ボタンから選ぶ。1問、1ページで解答するごとに次のページに進む。一度答えたら、元のページには戻れない。正解、不正解は1問ごとに表示。問題は50問程度の中から、ランダムで20問を出題。 以上のような、サイトを作りたいのですが、一番向いているのは、JAVAScript、ShockWave、CGIなど、どれでしょうか。皆さんのご意見をお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう