我正在使用 flash cs3 和 actionscript 3.0 创建一个问答测验。我有很多问题,我希望将其放入 xml 文档中(xml 文件可以驻留在 flash 文件本身中吗?我以为我看到有人这样做了。)
好的,我的主要问题是在问完所有问题之前不重复问题。我已经研究过这个教程,它可以很好地洗牌而不重复。 http://www.flashandmath.com/howtos/deal/
但是,我想一次问一个问题。我已经研究了随机播放帧的选项,但我想我如何计算测验结束时的分数?
所以我根据你的回答编辑了我的代码,
我想制作一个名为“检查”的按钮来检查填写的答案是正确还是错误。如果答案正确,分数会增加。用户将点击一个名为“下一步”的按钮以转到下一个问题。
完成所有问题后,最终分数将显示在下一帧。将计分到下一帧可以吗?
或者,当所有问题结束时,我应该只制作一个带有分数的电影剪辑吗?
check_btn.addEventListener(MouseEvent.CLICK, checkAnswer);
next_btn.addEventListener(MouseEvent.CLICK, nextQuestion);
var index:int = 0;
var score:int = 0;
questions_txt.text = newQuizModel[index]["q"];
var userAnswer:String = "";
function checkAnswer(MouseEvent):void{
userAnswer = answers_txt.text;
if (userAnswer == newQuizModel[index]["a"])
{
answers_txt.text = "";
score++;
}
else
{
answers_txt.text = "";
score = score;
}
index++;
index%= quizModel.length;
nextQuestion(index);
}
function nextQuestion(idx:int):void{
for(var i:int=0; i<newquizModel.length; i++){
if(i == quizModel.length - 1){
nextFrame();
}
else{
questions_txt.text = newQuizModel[idx]["q"];}
nextQuestion(index);
下一帧的代码,
score_txt.text = score.toString()+"/"+newQuizmodel.length;
我注意到如果答案错误,用户可以再次填写答案。我们如何只为用户的第一次尝试评分?
非常感谢 :)