0

スコア = 100 - ((100*answerTime)/60); を使用してユーザーのスコアを計算する簡単なクイズ ゲームがあります。方式。

ユーザーのスコアをタイマーで画面に表示すると、100、99、97...のように表示されます。

このスコアをユーザーにスムーズに表示する方法はありますか? 100、99、98 のように Web で検索しましたが、最も近い答えはフラッシュ アニメーション用のベジエ曲線アルゴリズムでした。

以下はサンプルコードです。

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();
4

1 に答える 1

0

問題は、59回の経過で100ポイントを割引する必要があり、その後、各ラップで1ポイント以上割引する必要があることです。私の提案は、タイマーを600msに設定することです。そうすれば、1分間に100回経過します。

于 2012-12-24T15:43:25.643 に答える