gpt4 book ai didi

javascript - 使用 Penner 缓动方程减少整数

转载 作者:行者123 更新时间:2023-11-28 01:22:35 25 4
gpt4 key购买 nike

我正在制作一款游戏,你必须在一段时间内回答一个问题。随着分数的增加,时间会减少。我正在使用这个功能来做到这一点。

var getTime = function(score){
var maxTime = 5000,
minTime = 750;
var reducedTime = maxTime * ( 1 - ( score * .1 ) );
return Math.max( reducedTime, minTime );
}

在这里查看 fiddle - http://jsfiddle.net/QWV82/

我想改变我的功能,以便缓解时间的减少。我希望使用 Robert Penners easing equations 之一.

    // t: current time, b: begInnIng value, c: change In value, d: duration
easeOutQuint: function (x, t, b, c, d) {
return c*((t=t/d-1)*t*t*t*t + 1) + b;
}

我不确定是否可以将我的系统应用到他的方程中。我不知道应该将什么传递给该函数。

这可能吗?如果能解释一下我需要做什么就太好了。

最佳答案

您应该能够像这样使用 easeOutQuint() (您需要有一个 maxScore 常量,如图所示):

var getTime = function(score){
var maxTime = 5000,
minTime = 750,
maxScore = 100;
return maxTime + minTime - easeOutQuint(null, score, minTime, maxTime-minTime, maxScore);
}

我们从 minTime 和 MaxTime 的总和中减去,因为您说您希望输出值向下倾斜。因此,这样返回的值将从 maxTime 开始,到 minTime 结束。

缓动函数的参数如下:

  • x:这实际上被忽略,但 jQuery 需要。
  • t:当前输入值(通常是一个时间间隔,但不是必须如此),范围为 [0..d]。
  • b:开始输出值。
  • c:输出值的最大变化。
  • d:最大输入值(通常,这是一个时间间隔,但不是必须如此)。

关于javascript - 使用 Penner 缓动方程减少整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23092376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com