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
ここでフィドルに入れました。私は何を間違っていますか?助けてくれてありがとう!