Flash JSFL Command: Motion Tweens and Sync

Anyone who’s worked with what are now called Classic Tweens will have run into the Sync Problem.  Not everyone will realize what was causing the problem, though.  It’s due to a feature that can actually be useful if you know how and when to use it.

For every motion tween there’s property called “sync”.  It’s a checkbox in the properties panel that you’ll see if you select a frame that has a motion tween applied to it.  Its function is a little arcane, and I’ve run into many Flash animators who have no idea of its existence, let alone its purpose. The gotcha is that it’s enabled by default with most methods of creating a motion tween, and it can cause unexpected and annoying behavior.

What sync does is to make sure that all the animation along several motion tweens will stay consistent.  It’ll make sure the symbol that’s being animated remains the same symbol on subsequent keyframes and tweens.  For graphic symbols It’ll make sure the looping property remains consistent, so that there’s no pop when the symbol has animation inside it, or so that it remains on the same frame if looping is set to “single frame”.

Hopefully I’ve explained it sufficiently so you can see how that would be a useful thing.  When I worked on Foster’s we used it all the time to make sure, for instance, that facial animation was synced up to the timeline of the main body animation.  Lip-sync and blinks and so on were animated inside the head symbol, the head symbol was animated on the timeline of the character symbol, and at every frame of the head animation it needs to be displaying the corresponding internal frame.  If it ever got out of sync we would flip on the sync property temporarily.  That’s a key point: don’t ever leave sync enabled unless you have a very good reason.  You’ll only cause yourself heartache later if you do.

I have two JSFL commands I wrote for dealing with the sync problem.  The first is “Motion tween (no sync)”.  It’s a simple command that creates a classic motion tween without turning on sync.  For this one to be as useful as possible it needs to be assigned keyboard shortcut.  That way you can make a motion tween quickly without having to worry about sync.

The second command is “Turn off sync”.  If you have a frame where sync has been turned on previously, even if it no longer has a motion tween, you can turn it off with this command.  This is helpful because normally you can only turn off sync if the motion tween is active already.  But if the motion tween is active then the sync takes effect and you may get the sync problem again.  As long as the motion tween is turned off the sync won’t be a problem, so you won’t have an issue as long as you can turn off sync before re-engaging the motion tween.  I use this one all the time when dealing with animation that other people (who don’t understand sync) created.

You can download these commands as an Adobe Extension Manager package here: Motion tween sync tools.mxp

All my Flash extensions are free for personal use there’s a small fee for commercial use.  Basically, if you’re getting paid for your Flash work I ask that give a little something back.  Please contact me for pricing (don’t worry, it’s very reasonable).

Here’s a movie I made to show how to use the commands, as well as illustrating some of the intricacies of motion tween sync:

One thought on “Flash JSFL Command: Motion Tweens and Sync

  1. A Sprite Animator says:

    This extensions is handy. Thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *