Actionscript 测验计分系统-你正确的速度越快,分数越高

Actionscript 测验计分系统-你正确的速度越快,分数越高,actionscript,scoring,timed,Actionscript,Scoring,Timed,我正在创建一个利用PHP数据的Flash(as3)测验,目前正在创建一个评分系统。这个想法是,你越快把问题答对,你的分数就越高。每个问题都有一个倒数计时器,从5秒开始倒数。例如,如果你在5秒钟内回答了问题,并且答案正确,你将得到500分,4秒钟=400分,依此类推。这是一个选择题测验,答案显示在按钮的动态文本字段中 目前,我有一个嵌入式测验,其中的问题和答案存储在一个数组中,这样我就可以在完全集成PHP之前测试所有内容 有人知道从哪里开始吗?任何反馈或在正确的方向推动将不胜感激!如果你需要更多的

我正在创建一个利用PHP数据的Flash(as3)测验,目前正在创建一个评分系统。这个想法是,你越快把问题答对,你的分数就越高。每个问题都有一个倒数计时器,从5秒开始倒数。例如,如果你在5秒钟内回答了问题,并且答案正确,你将得到500分,4秒钟=400分,依此类推。这是一个选择题测验,答案显示在按钮的动态文本字段中

目前,我有一个嵌入式测验,其中的问题和答案存储在一个数组中,这样我就可以在完全集成PHP之前测试所有内容

有人知道从哪里开始吗?任何反馈或在正确的方向推动将不胜感激!如果你需要更多的信息(或脚本),请让我知道

谢谢

听起来像是一个会做你想要的事情的人

设置一个全局计时器var,其间隔取决于您希望评分系统的精确程度,并用每个新问题激发它。当用户回答时,检查该计时器的
repeatCount
,查看他们正确回答所用的时间

public class Quiz{
    private var mTimer:Timer;

    ...

    public function Quiz():void{
         // This creates a timer that will fire every 100 ms for 50 times.
         // If you want a more precise scoring system, reduce the delay, and increase the count
         mTimer = new Timer(100, 50);
    }

    private function newQuestion():void{
         // Don't forget to reset the timer for every new question
         mTimer.reset();
         mTimer.start();
    }

    private function onRightAnswer():void{
         // Check how many times the timer fired already
         var count:int = mTimer.currentCount;

         // Deduce points for every count
         var score:int = 500 - (count * 10);
    }

    ...

}

太棒了,这看起来是个很棒的起点!谢谢。
repeatCount
记录计时器在停止前将触发多少次。它本质上是创建计时器时给出的第二个参数。在我的示例中,
repeatCount
总是50。例如,如果您想要计时器上剩余时间的百分比,
100.0*(mTimer.currentCount/mTimer.repeatCount)
,它非常有用。如果希望计时器比预期的更早停止,也可以在运行时修改它。不确定我是否应该为此创建另一个线程,或者它与此主题相关。如前所述,我的问题和正确答案都排成一列。aUserAnswers[numLoops]是一个数组,因此当我执行if(aUserAnswers[numLoops]==returnedNumber){processScore();}时,我的跟踪程序显示NAN。不确定如何纠正此问题。这是我的函数processScore():void{var count:int=mTimer.currentCount;var score:int=score+(700-(count*10));trace(“score registed”);}需要更多信息,您可能需要打开另一个线程并显示更多代码,以及如何设置数组,你是如何得到回报的电话号码等。谢谢你的帮助,戴夫,会的