JSFL:如何访问Adobe Flash CS5中的运动元帧?
题
我们的动画师在Adobe Flash CS5中创建了一个非常复杂的MovieClip,其中包含50层,运动二元和3d Tweens。不幸的是,她将所有元素放置在右边的680像素太远,而400像素则太远了。
我们正在尝试找到一种方法来移动所有层上的所有元素,而不会破坏动画。我们尝试了一个名为“ Moveregpoint”的JSFL脚本,但它不能正确处理运动互构框(钻石)。因此,现在我想自己写一个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处有钻石来定义运动。我想知道框架是否包含钻石并访问这些钻石中的数据。
保罗
解决方案
有一个Flash扩展程序完美地称为新动画剪辑 - 您可以在Toon Monkey上找到它: http://toonmonkey.com/extensions.html
我一直使用它: - 选择我想要在新剪辑中的所有框架(在多层上),然后单击“时间表”右键单击菜单中的切割帧 - 单击Newanimclip命令 - 将新符号和层命名为“新符号”和“新剪辑和粘贴框架的第一帧中描述性的单击
瞧!您可以调整和重新定位的新剪辑,与原始时间轴保持一致!
不隶属于 StackOverflow