New in 1.06:
- New version of Ivan Dembicki's Path class used by AnimationPackage's MoveOnPath.
- Rotation.setRegistrationPoint. Adapted from solutions of Robert Penner, Darron Schall and Ben Jackson.
- MTASC 1.07 compatible.
- Minor bugfixes and improvements.
New in 1.05:
- All IAnimatable classes offer a getCurrentPercentage method. You can fully control any IAnimable animation (including composite animations like Sequence, Parallel, Animation, Drawer) at anytime. You can i.e. step forward and step backward with the goto and getCurrentPercentage method. See example.
- Composite classes (Sequence, Parallel, Animation, Drawer) and Pause are compatible to IAnimatable and therefore implement new functionality.
- Scale.setRegistrationPoint emulates setting the registration point of a movielcip(s) allowing a different scaling. Thanks to Ben Jackson for the idea and first implementations.
- All IAnimatable classes implement the setOptimizationMode method that; if set to true, offers performance benefits with extracting values that don't animate and possibly stopping the animation if all start values match the targeted end values. Defaults to false.
- AnimationPackage's drawing API behaves more similar to Macromedia's drawing API.
- if you want to animate many animation targets (i.e. movieclips or objects) the same way, many animation classes accept an array of animation targets instead of one animation target. This can lead to a tremendous speed improvement. See for yourself. The Scale class's examples no. 8 and no. 9, based on Ladislav Zigo's benchmark illustrate the speed difference. The new Animator class offers the properties multiStart and multiSetter, considering different start value(s) of animation targets or not. See the Scale class's examples. For example no. 7.
- The new Timeline class offers a deeper integration with AnimationPackage and movieclip timeline(s). Besides animating existing movieclip timeline(s), you can also control movieclip timeline(s) and let them play by itself. See Timline's class documentation for examples.
- All classes including composite classes (Sequence, Parallel, Animation, MoveOnPath, Drawer and ShapeComposite) support being used over the Visitor design pattern. See accept method of the specific class for more details. More documentation on this coming soon.
- almost compatibility with Motion-Twin ActionScript 2 Compiler.
- faster Curve.animate. Thanks to Felix Eckhardt and Steve Schwarz for the idea and first implementations.
- faster SuperShape.animate, SuperShape.morph and SuperShape.animateProp.
- MoveOnCurve and MoveOnCurbicCurve have an orientToPath and orientOnPath method. Thanks to Steve Schwarz again.
- Animation is more precise.
- MaskMoveFX and MaskScaleFX create a rectangle as a mask if no mask movieclip is specified. Thanks to Ben Jackson for the idea and first implementation.
- documented de.alex_uhlmann.animationpackage.utility.BezierToolkit, de.alex_uhlmann.animationpackage.utility.ColorFX and de.alex_uhlmann.animationpackage.utility.ColorToolkit classes.
- Text.addText, Text.clearText.
- slight overall performance increase for animations.
- revised documentation.
- Minor bugfixes and improvements.
New in 1.04:
- Support for Macromedia Flex. See Flex support for more information.
- All animation classes offer a goto method that allow to jump to a specific step of the animation without animating.
- The Animator class offers an animate method with start and end percentage values.
- The enhanced MoveOnPath class offers an orientOnPath method and uses a new verion of Ivan Dembicki's com.sharedfonts.Path class that makes it faster and more precise.
- Uses a new version of Grant Skinner's GDispatcher.
- Nested instances of Sequence can also be paused, stopped and resumed.
- Only in version 1.03 the method setRegistrationPoint didn't always work as it should. This bug is fixed in 1.04.
New in 1.03:
- The Drawer class allows to draw and animate arbitrary shapes/lines and treat the outline and fill seperatly.
- The new Animator class is more precise, faster and more flexible. Multiple animated values can be send to one method.
- You can send additional parameters to easing equations. See Customizable easing equations in readme.
- All drawing classes offer a drawBy and some an animateBy method that allows to continue shapes/lines drawn with AnimationPackage. This methods open up the whole drawing package. In combination with the additions to Animator it allows you to arbitrary manipulate properties of shapes/lines drawn with AnimationPackage. Take a look at the class documentation of Animator for examples.
- The new ColorTransform class offers support for a transformObject like the one returned by build-in Color.getTransform(). This allows more complex color manipulations than via the RGB value and one transformation percentage value.
- Flash does not guaranteed that time-based tweening will reach the end value(s) of your animation. By default AnimationPackage guarantees that the end value(s) will be reached. The new forceEnd method of most classes that use animations allows you to disable this guarantee and only accept the values from your easing equation. In certain situations this can lead to a smoother ending of the animation. Notice that in frame-based tweening the end value(s) will always be reached.
- All animation classes and the AnimationCore class offer a setOptimizationMode/setOptimizationModes method that can add additional performance with removing parts of the animation which are not animated during the animation.
- Line, DashLine, QuadCurve and CubicCurve offer getter/setter methods to access points. (getX1(), getY1()...etc.).
- Line, DashLine, QuadCurve and CubicCurve offer a getPenPosition/setPenPosition method to control the drawing API pen position.
- Text.updateText().
- better documentation for ActionScript 2.0 beginners.
New in 1.02:
- Sequence.setAnimateMode() and Sequence.setEasingMode() allows to treat child animations as a whole. It allocates the start/end percentage values and/or the easing equation along the whole Sequence. Usefull for animating motion paths via Move, MoveOnQuadCurve and MoveOnCubicCurve.
- Sequence.getChild, Sequence.getChildDuration.
- MoveOnPath allows to animate an object evenly along a path using Ivan Dembicki's com.sharedfonts.Path. This class emulates motion path tweening from the Flash IDE.
- The Animation class combines Sequence and Parallel to allow overlaps of child animations.
- animation classes offer opportunities to set the starting value(s) and end value(s) either via the new setStartValue, setStartValues, setEndValue, setEndValues methods, the run method or the constructor.
- Timeline allows to animate existing movieclip timelines.
- MoveOnCubicCurve
- CubicCurve
- The MoveOnCurve class animates an object along a bezier curve with n control points. Usefull for long paths.
- The Curve class draws a bezier curve with n control points.
- Move.orientToPath and MoveOnQuadCurve.orientToPath can rotate the object towards the line/curve while animating.
- QuadCurve, CubicCurve, MoveOnQuadCurve and MoveOnCubicCurve offer ways to specify control points between the start and end points of the curve instead of points on the curve. (useControlPoints method or via parameters)
- Volume allows to fade sounds with easing equations. ( :
- SingleAnimator allows to animate a single property or method in a more intuitve way than via Animator.
- Animator has stop, pause and resume methods.
- Trail can attach a trail for infinite length and can remove it explicitly. And it's faster.
- Almost all classes that use animations increased in performance because of a faster Animator class.
- All classes offer a getID method that returns a unique identifier of the instance. Useful for associative arrays.
- All drawing classes offer a clear method to remove all drawings drawn from the instance.
- revised documentation.
New in 1.01:
- animation classes offer new methods to control animations:
- getStartValue
- getStartValues
- getEndValue
- getEndValues
- getCurrentValue
- getCurrentValues
- getDurationElapsed
- getDurationRemaining
- animation classes support a roundResult method, which rounds animation results to integers. (usefull for animating pixelfonts).
- Scale.scaleWithPixels allows to scale over _with and _height properties of MovieClip.
- APCore.setContainerMC allows to specify a custom timeline (default is root) for the container movieclip of AnimationPackage.
- drawing classes offer a gradientStyle method.
- drawing classes support customization of the registration point.
- RoundRectangle.setCornerRadii allows to set a corner radius for all corners individually.
New in 1.00:
- frame-based tweening based on André Michelle's ImpulsDispatcher and FrameBasedInterval.
- AnimationCore.setTweenMode allows to change the tween-engine at runtime. (time-based, setInterval and frame-based, onEnterFrame).
- AnimationCore.setDurationMode allows to control frame-based animations with milliseconds.
- AnimationCore.pauseAll.
- AnimationCore.resumeAll.
- All classes that use animations offer an isTweening() method.
- APCore.watchFPS.
- APCore.unwatchFPS.
- APCore.getFPS.
- APCore.setFPS.
- APCore.milliseconds2frames.
- myBlink.blinkFast.
New in 0.956 BETA:
- AnimationCore class holds animationStyle() properties.
- All classes that use animations offer stop, pause, resume, lock and unlock methods.
New in 0.955 BETA:
- faster SuperShape.
New in 0.954 BETA:
- com.gskinner.events.GDispatcher or mx.events.EventDispatcher support.
- using internal AsBroadcaster.
- added documentation.
- added example .swf's.
New in 0.953 BETA:
- SuperShape.morph().
- SuperShape.animateProps().
- All drawing classes support a movieclip as first parameter to define the timeline where to draw the shape in.
- Parallel class.
- Sequence class.
- Many animation classes support an animate() method with percentage start and end parameters.
- Optional constructor parameters for more flexibility how to use AnimationPackage.
- Improvements to MaskMoveFX and MaskScaleFX classes.