TOP サイトマップ お小遣い タイピングゲームを作る講座 ゲーム DIABLO
チャット BBS リンク集 顔文字 逆アクセスランキング

Flashでタイピングゲームを作ろう講座6
〜制限時間を設ける〜

完成例

6-1.はじめに

掲示板の方で、問題数で終了するのではなく制限時間を設けて終了判定を行うやり方について 講義してほしいとあったので作ってみました。
講座3−1のスクリプトを改良してあります。
即効で作ったので変なところもあるかもしれません。ご指摘のほどよろしくお願いします。

6-2.スクリプトの改造点

スクリプトの改造点としては、今まで最大問題数を越えた時に結果画面があるラベルへと 飛ばすスクリプトをテキスト郡のインスタンスに設定していましたが、そのスクリプトを そのまま画面外に設置してあるタイム計測をしているテキストボックスのスクリプト内へと 移します。

if(mondaisuu>=saidaimondaisuu){
 _root.param.end(); //結果表示に行く前にパラメータを変数に入れる関数end()の呼び出し
 _root.mondaisuu=saidaimondaisuu;
 _root.gotoAndStop("result");
}

このスクリプトを移すと最大問題数で終了しなくなります。

そして、時間計測のテキストボックスのスクリプトに移し次のように変更します。

if(seigentime-_root.time<=0){
 _root.param.end(); //結果表示に行く前にパラメータを変数に入れる関数end()の呼び出し
 _root.gotoAndStop("result");
}

seigentimeという変数はonClipEvent(load)内にて設定している制限時間です。
_root.timeは開始からの時間なので、その時間が制限時間を超えたときに結果画面へと移動する ように組みなおしています。

これで制限時間によって終了させることができました。
あとは結果の表示部分のスクリプトを少し変更します。
制限時間を設けることで、一回も打たないで終了した場合に正解率と得点結果がおかしくなります。 厳密に言うと正解数が0な為に計算結果がおかしくなりゴミが入り、テキストボックスには 『NaN』と表示されてしまいます。
そこでそれを回避する為に、結果画面のテキスト郡に設定してある結果を求めるスクリプトを改造して、 正解数が0の時は正解率を0に設定するようにします。
こうすることで得点の方もちゃんと出てきます。

6-3.flaファイルのダウンロード

今回は解説が少なめですが、flaファイルを見てもらえればわかると思います。
テストはほとんどしてないので、制限時間がきても終了しなかったり、得点結果表示が おかしくなったりするかもしれません。その時はご指摘をお願いしますペコリ(o_ _)o))

講座6ダウンロード

lzhで圧縮してあります。

前に戻る 講座のTOPへ戻る 次に進む