-1

フラッシュクイズゲームでスコアシステムを作成しました。質問に早く答えるほど、より多くのポイントを獲得できます。ただし、現時点では、ゲームを実行するとトレーサーに「NAN」と表示されます。なぜこれなのか誰か分かりますか?

var score:int = 0;
var count:int = 0;
var mTimer:Timer;
mTimer = new Timer(100, 70);

function processScore():void {   
    var count:int = mTimer.currentCount;
    var score:int = score +  (700 - (count * 10));
    trace("score registered");
}

trace(aUserAnswers[numLoops] + " " + returnedNumber);
if(aUserAnswers[numLoops] == returnedNumber){
    processScore();
}

returnedNumberボタンがクリックされたとき、番号が配列にある番号と一致する場合、質問は正しいです。

ありがとうございました

4

1 に答える 1

3

あなたは再宣言していcountて、score内部にありprocessScore()ます。これにより、以前に宣言された同じ名前の変数とは関係なく、関数のローカル変数になります。これは、関数が終了するとそれらの値が失われ、以前の変数が変更されないことを意味します。ある時点で何かをそれらの1つで割ると、常にゼロで割るので、NAN.

于 2012-10-24T14:02:40.613 に答える