文字を波打たせる

動作バージョン
2.0
Windows
Macintosh

解  説
文字を波打たせるようにするには、最初の文字の位置を保持しておきます。文字は1文字ずつ分解していますが、これはconvertIntoObjects()によって簡単に分解でき、分解された文字は配列として以後参照することができます。
波打たせるようにするために、サインカーブを利用しY座標のみ加算するようにします。これで周期的に文字が上下に波打つような感じになります。

コード
sinCurv(
72, 0.2, 20, 4);//フレーム数、周期、振幅幅、ずれ具合

function sinCurv(lastFrame,n,w,zure)
{
var objY = new Array();
var Comp = application.currentComposition;
var rad =
0;
var textObj = Comp.selection[
0].convertIntoObjects();
var len = textObj.length;
// 初期値を設定
for (i=0; i<len; i++)
{
objY[i] = textObj[i].position.y;
textObj[i].stopwatch.position = true;
textObj[i].startFrame = 0;
textObj[i].endFrame = lastFrame;
}
// 計算して座標を設定していく
for (j=0; j<lastFrame; j++)
{
rad = rad + n;
for (i=0; i<len; i++)
{
div = (i / len) * zure;
ofstY = Math.sin(div+rad) * w; // 振幅
textObj[i].currentFrame = j;
textObj[i].position.y = objY[i] + ofstY;
}
}
}


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

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