我正在尝试为后效表达式编写此代码,该表达式将在 n 帧数上将对象移动计算的 x 距离。每帧上的移动是抛物线而不是线性的,所以我使用第 n 个根代码来确定对象应该在每帧上移动多少。我将第 n 个根中的每一个放入一个数组中,以便稍后在设置每次移动的位置时访问。
我仍然主要为AE学习javascript,所以如果这里有我不完全理解的东西,请多多包涵。我想我明白了,这就是为什么我不确定我是否得到了某些 n 值的未定义输出。这是代码:
//get Nth root
function nthroot(x, n) {
ng = n % 2;
if ((ng == 1) || x < 0)
x = -x;
var r = Math.pow(x, 1 / n);
n = Math.pow(r, n);
if (Math.abs(x - n) < 1 && (x > 0 === n > 0))
return ng ? -r : r;
}
distance=1515; //will be determined by another portion of the AE expression
frames=6; //will be set by expression control in AE
const myArray = [];
let i = 1;
while (i <= 6) {
myArray.push(nthroot(distance,i++));
}
console.log(myArray);
document.getElementById("demo2").innerHTML = myArray
我在这里把它变成了小提琴。我究竟做错了什么?提前感谢您的帮助!