我在我的Flash测验游戏中创建了一个分数系统,你回答问题的速度越快,得分就越多。然而,当我运行游戏时,我的示踪器显示“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
是单击按钮时,如果数字与数组中的数字匹配,则问题是正确的。
谢谢
答案 0 :(得分:3)
您要在count
内重新声明score
和processScore()
。这使得它们成为函数的局部变量,与之前声明的同名变量无关。这意味着当函数完成并且先前的变量未更改时,它们的值将丢失。我猜测在某些时候你将其中一个分开,因为你总是将它除以零,你得NAN
。