2012-12-24 4 views
0

나는 간단한 점수 게임을 사용하여 점수 = 100 - ((100 * answerTime)/60)을 사용하여 사용자의 점수를 계산합니다. 공식. 내가 타이머와 함께 화면에 사용자의 점수를 표시 할 때경과 된 시간을 기준으로 사용자 점수 계산

, 그것은 처럼 표시 100, 99, 97 ...

사용자에게 매끄러운이 점수를 표시하는 방법이 있나요? 100, 99, 98처럼 웹에서 검색했지만 가장 가까운 대답은 플래시 애니메이션을위한 베 지어 곡선 알고리즘입니다.

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(); 
+0

코드를 인쇄 할 수 있습니까? – HMarioD

+0

@HMarioD 게시물을 업데이트했습니다. – Alaminut

답변

0

문제는 당신이 각 무릎 이상 1 점을 할인한다 59 경과에 100 점을 할인 있어야합니다

다음은 샘플 코드입니다. 내 제안은 타이머를 600ms로 설정 한 다음 1 분에 100 회 정도의 시간이 걸릴 것입니다.

+0

하지만 타이머를 600ms로 설정하면 점수가 음수 값을 갖기 시작합니다. 나는 그대로 점수를 지키고 싶다. 점수는 1 분 안에 100 점에서 할인해야하지만, 나의 디스플레이는 매초마다 1 점씩 감소하는 것처럼 보여야합니다. 나는 당신의 제안을 이해하지 못했다고 생각합니다. :) – Alaminut

+0

당신의 점수는 100 - ticks입니다 – HMarioD

+0

오, 그래, 지금 해. 솔루션을 가져 주셔서 감사합니다! – Alaminut