наш аниматор создал очень сложный мувиклип в Adobe Flash CS5, содержащий более 50 слоев, анимацию движения и трехмерную анимацию.К сожалению, она разместила все элементы на 680 пикселей слишком далеко вправо и на 400 пикселей слишком далеко вниз.
Мы пытаемся найти способ переместить все элементы на всех слоях, не нарушая анимацию.Мы попробовали JSFL-скрипт с именем «MoveRegpoint», но он не обрабатывает ключевые кадры движения (ромбы) должным образом.Итак, теперь я пытаюсь написать 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 естьопределить движение.Я хочу знать, содержит ли рамка алмаз, и получить доступ к данным этих алмазов.
Пол