我们的动画师在 Adobe Flash CS5 中创建了一个非常复杂的影片剪辑,其中包含 50 多个图层、补间动画和 3D 补间。不幸的是,她将所有元素放置在右侧太远 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) {}
}
}
}
需要说明的是:frame.startFrame始终为 0,因为补间动画从第 0 帧开始。第 12、27 和 49 帧有菱形定义运动。我想知道一个框架是否包含钻石并访问这些钻石中的数据。
保罗