我们的动画师在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命令 - 将新符号和层命名为“新符号”和“新剪辑和粘贴框架的第一帧中描述性的单击

瞧!您可以调整和重新定位的新剪辑,与原始时间轴保持一致!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top