|
完成例
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))
lzhで圧縮してあります。
|