1

If I have a Flash project in which there are multiple movie clips animating, each with its own timeline and other embedded movie clips, again, each with its own timeline, how can I merge everything so that I end up with a single timeline and a single layer?

If Flash doesn't support this, maybe there's some other way it can be done? I'm thinking that I would need to do something like calculate the intermediary tween values and somehow create keyframes with those values, then break everything apart and only animate the correct parts from the calculated keyframe values...

rid
  • 644
  • 5
  • 13
  • 1
    I think this is a valid question. See [How do I ask a question that may require recommending software?](http://meta.superuser.com/questions/5372/how-do-i-ask-a-question-that-may-require-recommending-software) – bwDraco Sep 24 '12 at 05:25
  • @DragonLord, reformulated... – rid Sep 24 '12 at 05:31

2 Answers2

2

You need to select the frames you need from each MovieClip and copy them (CMD/Ctrl + Alt + C) then paste(CMD/Ctrl + Alt + V) them into a new empty MovieClip which will be your single timeline.

You might need to trim some frames after pasting (select then Shift+F5) and manipulate(move, scale, etc.) multiple frames in the new single timeline. For that you have the Edit Multiple Frames toggle:

edit multiple frames

Bare in mind that you might need to lock layers that you don't need to work with when editing multiple frames. Also, once you have Edit Multiple Frames toggled and selected frame range, you should also select all(CMD/Ctrl+A) all the objects on those frames, if they're not already selected so that you move all the single elements of all the frames at once (without breaking the animation).

George Profenza
  • 820
  • 5
  • 20
  • 40
  • I'm not sure I understand. Say for example I have MovieClip A, which has some frames which make it move around the screen as a result of a tween. Inside MovieClip A, there are MovieClips B and C, which also move according to a tween and they themselves have moving parts (some shapes or maybe other MovieClips inside that move or change other properties with single keyframes or with tweens). How would I apply your answer to this scenario? – rid Sep 21 '12 at 12:25
  • You have MovieClip A and you want to copy the whole timeline of that clip to another clip ? Or do you want to copy the timelines of MovieClips B and C and paste them straight into MovieClip A (kind of like Break Apart but for the timeline) ? Also, just spotted the jsfl tag. Are you planning to automate this somehow ? – George Profenza Sep 21 '12 at 12:39
  • Say for instance, you have a car on your root time line, that car has four movieclips within it which are the wheels, each which has their own timeline which is simply spinning tires. This is already the most efficient way to design such an object in Flash; however, should you want them all on the root timeline you'll have to copy/paste the layers onto the root timeline, then repeat the animations as required. it's messy, I don't understand why you'd want it on the root, but @GeorgeProfenza described the method correctly –  Sep 21 '12 at 13:05
  • @GeorgeProfenza, I would like to merge the timelines. I want to have a new MovieClip that contains all that MovieClips A, B and C contain, with all groups and MovieClips removed but the shapes preserved, and also all the animation contained in them. So if MC A contains a square moving up and down, MC B contains a circle moving from left to right and MC C contains a star moving diagonally, the end result should contain all these shapes with their original movement, all in a single MC, a single timeline, and a single layer. If this is even possible at all, I'd like to automate it. – rid Sep 21 '12 at 14:14
  • Ok, I understand now. You can copy the animations (can involve multiple layers with different types of animation(frame by frame, shape tween, classic tween, motion tween)) from MC A,B and C into a single MC using Copy Frames/Paste Frames as I mentioned above. That is doable and not very difficult. Regarding automation, it might be possible but not super straight forward because of special cases such as multiple layers with multiple tweens in a single MC that need to be copied. What about nested elements ? If you had MC A containing MC B and you wanted MC A's timeline copied into another clip.. – George Profenza Sep 21 '12 at 14:25
  • ...would you need that MC B's animations copied into MC A's timeline first, then the merged MC A animations into the new empty clip or not ? – George Profenza Sep 21 '12 at 14:25
  • @GeorgeProfenza, but MC A is animating its contents. While MC A is moving up and MC B is moving left, since MC B is part of MC A and MC A doesn't display anything other than MC B and MC C, then MC B will appear to be moving diagonally. If I simply copy MC B's frames, when I paste them, I'll see MC B moving left, not diagonally, and if I were to copy MC A's frames, I'd end up copying MC B itself, not its animated contents. – rid Sep 21 '12 at 15:16
  • Ok, I misunderstood. Because you have different tweens applied at different nesting levels, you need to concatenate the tween of a symbol to it's parent and so on, correct ? Could you post an example .fla ? – George Profenza Sep 21 '12 at 16:02
  • In the meantime I've posted a [.fla](http://lifesine.eu/so/AniMerge.fla). Is that what you mean ? – George Profenza Sep 21 '12 at 16:50
  • Something like that, yes. – rid Sep 22 '12 at 04:32
  • I've done a few basic tests and I now regret proposing to migrate this to superuser. I haven't found a way to do this from the interface, the way the combined motion was achieved in the above was through a bit of JSFL scripting. Long story short, there's a functionality called Copy Motion, but what you need is to copy multiple motions, merge them and then paste them as one onto a symbol. It's doable since jsfl offers timeline.copyMotion()/timeline.pasteMotion() and also supports E4X which is handy to parse and generate a new Motion XML. Still there is a bit of complexity involved... – George Profenza Sep 23 '12 at 22:13
  • ...with translation it's not that bad, but how does rotation/scale work when merging 2 or more motions ? After the overlapping keyframes are computer, how is easing affected ? etc. Also, there's a [useful article on MotionXML](http://flashthusiast.com/2008/11/04/understanding-flash-cs4-motion-xml/) available. – George Profenza Sep 23 '12 at 22:16
  • You mean that `pasteMotion()` will merge the motion? – rid Sep 24 '12 at 04:05
  • Sorry, if I wasn't clear. pasteMotion() doesn't merge the motion, as you can see by using the Flash timeline context menu. What I mean is this: 1. copyMotion() for each clip (from a selected one upwards to the root) and store each xml in a variable. 2. parse the motion xmls and merge them into one. 3. write the merged xml as MotionClipboard.xml and after that call pasteMotion() to apply it to a clip. As I mentioned it is not straight forward, it's more of a hack – George Profenza Sep 24 '12 at 07:23
  • Wow, this sounds incredibly complicated... – rid Sep 24 '12 at 08:48
0

Change your animation containers type from MovieClip to Graphic. In this case you can see its animation outside, in parents