添加分数并显示as3

时间:2016-08-24 23:31:07

标签: actionscript-3 flash

我正试图在我的测验中实施一个分数。

目前它的工作原理是当用户点击正确的答案(这是一个按钮)时,它会显示到答案正确的框架并显示分数。

如果用户得到错误的答案(再次是一个按钮),它将转到表示答案错误且得分保持不变的框架。

测验按钮的代码如下:

第一个正确答案:

//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”时。

测验有五个问题,所以我希望数字变量如果用户得到错误但是只让它下降到零,并且最多只有五个作为最高得分(如果用户获得)一切正确)。

我该怎么做? 干杯!

1 个答案:

答案 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。