基于经过的秒计算用户得分

时间:2012-12-24 14:48:02

标签: flash actionscript

我有一个简单的问答游戏,它通过使用得分= 100来计算用户的得分 - ((100 * answerTime)/ 60);式。

当我使用计时器在屏幕上显示用户的分数时,会显示它 100,99,97 ......

有没有办法让用户更顺畅地显示这个分数?像100,99,98一样,我在网上搜索过它,但我得到的最接近的答案是用于flash动画的贝塞尔曲线算法。

以下是示例代码:

private function TimerHandler(e:TimerEvent):void
    {
        var ticks:int = e.target.currentCount;
        var score:int = CalculateScore(ticks);
        trace("Elapsed time: " + ticks + ", score: " + score);

        if(ticks == 59)
        {
            trace("Time out! User got 0 points on this question");
            e.target.stop();
        }
    }

private function CalculateScore(answerTime:uint):int
{
    return 100 - ((100*answerTime)/60);
}

并在构造函数中:

var tmr:Timer = new Timer(1000);
tmr.addEventListener(TimerEvent.TIMER,TimerHandler);
tmr.start();

1 个答案:

答案 0 :(得分:0)

问题是你必须在59次失误中折扣100分,然后每圈必须折扣超过1分。我的建议是将计时器设置为600毫秒,然后你将在一分钟内完成100次。