文字が縮小し元の位置に集まってくるようにする(縦横別々) |
動作バージョン |
2.0 |
---|---|
Windows | ○ |
Macintosh | ○ |
解 説 | 文字が縮小し元の位置に集まってくるようにするには、選択されたテキストを1文字ずつ分解します。これはconvertIntoObjects()で分解することができます。次に現時点の文字の位置とサイズを保持し開始フレームとします。次に終了フレームに移動し、新しい座標とサイズを設定します。 縦と横を別々に指定するにはsize.x, size.yに個別にサイズを指定します。 |
---|---|
コード | toSmall_Resize2(24,4,8);// フレーム数、最大拡大サイズ(横)、(縦) function toSmall_Resize2(lastSec,maxSizeX,maxSizeY) { var objX = new Array(); var objY = new Array(); var objSX = new Array(); var objSY = new Array(); var Comp = application.currentComposition; var cx = Comp.size.x; var cy = Comp.size.y; textObj = Comp.selection[0].convertIntoObjects(); len = textObj.length; for (i=0; i<len; i++) { objX[i] = textObj[i].position.x; objY[i] = textObj[i].position.y; objSX[i] = textObj[i].size.x; objSY[i] = textObj[i].size.y; } for (i=0; i<len; i++) { textObj[i].stopwatch.position = true; textObj[i].stopwatch.size = true; textObj[i].startFrame = 0; textObj[i].currentFrame = 0; px = (Math.random() * cx * 1.5) - cx / 4; py = (Math.random() * cy * 1.5) - cy / 4; textObj[i].position.x = px; textObj[i].position.y = py; textObj[i].size.x = objSX[i] * maxSizeX; textObj[i].size.y = objSY[i] * maxSizeY; textObj[i].endFrame = lastSec; textObj[i].currentFrame = lastSec; textObj[i].position.x = objX[i]; textObj[i].position.y = objY[i]; textObj[i].size.x = objSX[i]; textObj[i].size.y = objSY[i]; } } |
■サンプルスクリプトをダウンロードする >>.zip |
|
■サンプルの実行結果を見る >>実行 |