私たちのアニメーターは、50 以上のレイヤー、モーション トゥイーン、3D トゥイーンを含む非常に複雑なムービークリップを Adobe Flash CS5 で作成しました。残念ながら、彼女はすべての要素を右に 680 ピクセル、下に 400 ピクセル配置しすぎました。
アニメーションを中断することなく、すべてのレイヤーのすべての要素を移動する方法を見つけようとしています。「MoveRegpoint」という JSFL スクリプトを試してみましたが、Motion Tween キーフレーム (ひし形) を適切に処理できません。だから今、私はJSFLを自分で書こうとしています。
フレームがモーション トゥイーンかどうか、フレームがキーフレームかどうかを判断するにはどうすればよいですか? 現在のスクリプトを参照してください。
// get the selected Element
var vElement = fl.getDocumentDOM().selection[0];
// get the Timeline of the Element
var vTimeline = vElement.libraryItem.timeline;
// loop over the Timeline's Layers
var vLayersLength = vTimeline.layers.length;
for (var i=0; i<vLayersLength; ++i) {
var vLayer = vTimeline.layers[i];
// loop over each Layer's Frames
var vFramesLength = vLayer.frames.length;
for (var j=0; j<vFramesLength; ++j) {
var vFrame = vLayer.frames[j];
if(vFrame.isMotionObject()) {
// DOES NOT WORK, startFrame is always 0
if(vFrame.startFrame == j) {}
}
}
}
明確にするために:フレーム 0 でモーション トゥイーンが開始されるため、 frame.startFrameは常に 0 です。モーションを定義するフレーム 12、27、および 49 にひし形があります。フレームにひし形が含まれているかどうかを知り、これらのひし形のデータにアクセスしたいと考えています。
ポール