我正试图在我的测验中实施一个分数。
目前它的工作原理是当用户点击正确的答案(这是一个按钮)时,它会显示到答案正确的框架并显示分数。
如果用户得到错误的答案(再次是一个按钮),它将转到表示答案错误且得分保持不变的框架。
测验按钮的代码如下:
第一个正确答案:
//implementation of score
var score;
score = 0;
//adding points to score
score ++;
//setting the txt text field to score
scorecounter.text = score.toString();
//not embedding the font to display the score
scorecounter.embedFonts = false;
每个相应的正确答案:
//adding to score
score ++;
//setting the txt text field to score
scorecounter.text = score.toString();
scorecounter.embedFonts = false;
每个相应的错误答案:
//adding to score
score --;
//setting the txt text field to score
scorecounter.text = score.toString();
scorecounter.embedFonts = false;
我有静态文字说得分,旁边的动态文字是空白的,称为得分计数器,我希望得分上升一个。
现在发生的事情是当用户回答第一个答案不正确(或足够不正确)以显示“NaN”时。
测验有五个问题,所以我希望数字变量如果用户得到错误但是只让它下降到零,并且最多只有五个作为最高得分(如果用户获得)一切正确)。
我该怎么做? 干杯!
答案 0 :(得分:0)
您正在调用自身内部的函数。 updateScore()
不能在function updateScore():void{}
内。这应该是有道理的。如何烤蛋糕的说明不能包括“烤蛋糕”的步骤。如何到医院的说明不能包括“去医院”。您对updateScore
的说明包含步骤updateScore
。因此,只从该函数外部调用函数(即告诉flash执行函数)。
所以你需要的是让你的所有代码在函数内updateScore()
期间做你想做的事情,并在用户做一些应该导致更新的事情时调用它。
function myFunction():void{
//do stuff
}
myFunction(); // this will trigger the function and "do stuff" will occur
对于您的新问题:
此代码需要在函数之外的脚本顶部。
var score:int = 0;
而不是仅在第一个问题正确后宣布它。
我认为,只有在得到正确答案后才会声明变量score
,所以如果第一个答案错误,则得分为NaN。