Code Libraries
I learned ActionScript by painstakingly going through Flash book after Flash book. Yet despite reading about ActionScript-driven animation in these books, none of them offered any of the code libraries below (with the exception of Penner's book, of course). I suppose that beyond the legalities of citing other authors' code libraries, ActionScript books are written to help you understand the code, not find well-written libraries to reuse.
Robert Penner’s Code Libraries
http://www.robertpenner.com/easing/
Robert Penner’s work on dynamic animation and motion are the basis for nearly every Flash tween library available. His book, Robert Penner’s Programming Macromedia Flash MX, is showing its age from a syntax perspective (published in 2002), however, the documentation on the equations and the step-by-step tutorials are invaluable.
Adobe’s Built-In Tween Classes
Adobe built Tween Classes into Flash MX 2004 to create transitions with screens. Developers can take advantage of these classes in their own projects regardless of whether or not they use screens, though, with just a few lines of code.
For instance, we could tween our red circle by writing:
this.onMouseDown = function():Void {
new mx.transitions.Tween(mc, "_x", mx.transitions.easing.Elastic.easeOut, 50, 410, 3, true);
};
or
//import classes
import mx.transitions.Tween;
import mx.transitions.easing.*;
this.onMouseDown = function():Void {
new Tween(mc, "_x", Elastic.easeOut, 50, 410, 3, true);
};
Not surprisingly, Penner’s work on easing was the basis for these built-in tween classes. Documentation on using Flash’s tween and transition classes can’t be found within Flash’s help manual, but fortunately, there’s an in-depth tutorial on Macromedia’s site:
http://www.macromedia.com/devnet/flash/articles/tweening.html
There's also an in-depth overview at ActionScript.org:
http://www.actionscript.org/tutorials/advanced/Tween-Easing_Classes_Documented/index.shtml
Finally, you can also look at the classes directly by viewing:
<Flash Install directory>\<language>\First Run\Classes\mx\transitions folder.
Zigo Tween Library
http://laco.wz.cz/tween/
http://www.mosessupposes.com/Fuse/update.html

The Zigo Easing Tool Window
An example of the Zigo tween code for animating MovieClip mc:
// include AS2.0 tween class
#include "lmc_tween.as"
//create animation on mouse down
this.onMouseDown = function():Void {
mc._x = 50;
mc.tween("_x", 410, 1, "easeOutSine");
}
This library is prototype-based, and while both AS1.0 and AS2.0 versions are available, the code maintenance has been passed on to Moses Gunesch, who has stopped supporting AS1.0.
Senocular's Tween Library
http://senocular.com/flash/actionscript.php?file=ActionScript_2.0/com/senocular/Tween.as
Trevor McCauley's class files call upon Adobe's Built in tween transitions (above), but rather than pass in a target these methods return a number modified by a formula. One nice feature is that you can pass the arguments "yoyo", "default", or "loop" to determine the animation's behavior.
Fluid Actionscript 2.0 Animation Library
http://www.fluid.com/experiments/tweenplayground/index.html
Interactive Agency Fluid published this playground of their tween engine along with the source code. This version was originally built in MX but is Actionscript 2.0 structured and is based on an earlier version of Penner's methods (it's missing bounce, back, and elastic methods, as these were introduced in a later version of Penner's code library).
YesToAll's FlashAPI
http://www.yestoall.com/flashAPI/
I can't really claim to have tried this library since it has declared Fuse a successor, but I figured it would be nice to have it archived here.
Brendan Dawes's Drag Slide Fade 2.0 Class Library
http://www.brendandawes.com/downloads/index.php
Dawes's library requires you to copy a package, or folder of ActionScript class files into the same folder as the FLA you wish to work in. Then, in the code, your create instances of the different classes in order to generate the animation. While not as robust in features (you can't set the desired easing method), this library does include other features such as volume control and browser popup windows. The library is well documented, plus Lee Brimelow over at gotoandlearn.com has set up a tutorial on how to use the library.
Grant Skinner's MultiTween Class
http://www.gskinner.com/blog/archives/2005/09/source_code_mul.html
Not exactly a tween library in itself, this class allows for tweening of multiple properties over one object or an array target by simply changing one value.
Alex Uhlmann's AnimationPackage
http://www.alex-uhlmann.de/flash/animationpackage/
This animation package is authored in ActionScript 2.0 and covers such things as shape motion and motion path following. The MXP also includes SuperShapePanel, which draws more complex vector shapes right into Flash.
TK Tween Classes
http://tatsuokato.com/flash/dynTweenMX.html
This is another tween library, although this code is now a few years old (2002) and relies on prototypes, Macromedia's first attempt at creating object oriented programming in ActionScript 1.0.

