選択されたオブジェクトを振幅を変えながら移動させ奥から手前に来るようにする

動作バージョン
2.0
Windows
Macintosh

解  説
選択されたオブジェクトを振幅を変えながら移動させるにはサインカーブを利用します。振幅幅と移動量を変化させるには、振幅幅とY座標に一定の値を乗算していきます。さらにサイズを変えるためにsize.x,yプロパティを変化させ奥から手前に来る感じにしています。

コード
//フレーム数、周期、振幅、振幅乗数、Y乗数
ribon2(
60, 0.2, 20, 1.06, 1.05);

function ribon2(lastFrame,n,w,addW,addN)
{
var Comp = application.currentComposition;
var rad = 0;
var selObj = Comp.selection[0];
objX = selObj.position.x;
objY = selObj.position.y;
objSX= selObj.size.x;
objSY= selObj.size.y;
objSize =
0.1;
selObj.stopwatch.position = true;
selObj.stopwatch.size = true;
selObj.startFrame = 0;
selObj.endFrame = lastFrame;

// 計算して座標を設定していく
for (j=0; j<lastFrame; j++)
{
rad = rad + n;
ofstX = Math.sin(rad) * w; // 振幅
selObj.currentFrame = j;
selObj.position.x = objX + ofstX;
selObj.position.y = objY;
selObj.size.x = objSX * objSize;
selObj.size.y = objSY * objSize;
objSize = objSize +
0.1;
objY = objY * addN;
w = w * addW;
}
}


■サンプルスクリプトをダウンロードする >>.zip

■サンプルの実行結果を見る >>実行