首页 > 解决方案 > 如何在for循环中使变量以指数方式增加或减少

问题描述

我想在每帧发生的一段代码中以指数或加速方式增加或减少变量。

此代码每帧执行一次:

  if (animationLenght > 1) {
    animationLenght --
    // implement speeding up value 
    ...       
  }

不必完全是指数的,但它会加速(或减速)

动画变量在每一帧上线性递减一。

我想以非线性方式增加或减少一个值,但就像加速或减速一样。

有任何想法吗?

标签: javascript

解决方案


您可以检查 Math.exp() 函数:https ://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Math/exp

let expNum;
for(let i=0; i < length; i++){
   expNum = Math.exp(i)
}

推荐阅读