Flash 基于已用秒数计算用户分数
我有一个简单的问答游戏,它使用score=100-((100*answerTime)/60)计算用户的分数;公式 当我用计时器在屏幕上显示用户的分数时,它会像 100,99,97 有没有一种方法可以更平滑地向用户显示此分数?像100、99、98,我在网上搜索过,但我找到的最接近的答案是用于flash动画的bézier曲线算法 下面是示例代码:Flash 基于已用秒数计算用户分数,flash,actionscript,Flash,Actionscript,我有一个简单的问答游戏,它使用score=100-((100*answerTime)/60)计算用户的分数;公式 当我用计时器在屏幕上显示用户的分数时,它会像 100,99,97 有没有一种方法可以更平滑地向用户显示此分数?像100、99、98,我在网上搜索过,但我找到的最接近的答案是用于flash动画的bézier曲线算法 下面是示例代码: private function TimerHandler(e:TimerEvent):void { var ticks:int
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();
问题是你必须在59次失误中扣100分,然后每圈必须扣1分以上。我的建议是将计时器设置为600毫秒,那么你将在一分钟内失误100次。@HMarioD更新了帖子。但如果我将计时器设置为600毫秒,我的分数将开始出现负值。我想保持现状。分数必须在一分钟内从100分打折,但我的显示器应该显示为每秒减少1分。我想我不明白你的建议哦,是的,现在知道了。谢谢你的解决方案!