Classpublic class BezierThroughPlugin
InheritanceBezierThroughPlugin Inheritance BezierPlugin Inheritance TweenPlugin

Identical to bezier except that instead of defining bezier control point values, you define points through which the bezier values should move. This can be more intuitive than using control points. Simply pass as many objects in the bezier Array as you'd like, one for each point through which the values should travel. For example, if you want the curved motion path to travel through the coordinates x:250, y:100 and x:50, y:200 and then end up at 500, 100, you'd do:, 2, {bezierThrough:[{x:250, y:100}, {x:50, y:200}, {x:500, y:200}]});

Keep in mind that you can bezierThrough tween ANY properties, not just x/y.

Also, if you'd like to rotate the target in the direction of the bezier path, use the orientToBezier special property. In order to alter a rotation property accurately, TweenLite/Max needs 5 pieces of information:
  1. Position property 1 (typically "x")
  2. Position property 2 (typically "y")
  3. Rotational property (typically "rotation")
  4. Number of degrees to add (optional - makes it easy to orient your MovieClip properly)
  5. Tolerance (default is 0.01, but increase this if the rotation seems to jitter during the tween)

The orientToBezier property should be an Array containing one Array for each set of these values. For maximum flexibility, you can pass in any number of arrays inside the container array, one for each rotational property. This can be convenient when working in 3D because you can rotate on multiple axis. If you're doing a standard 2D x/y tween on a bezier, you can simply pass in a boolean value of true and TweenLite/Max will use a typical setup, [["x", "y", "rotation", 0, 0.01]]. Hint: Don't forget the container Array (notice the double outer brackets)


import com.greensock.TweenLite;
import com.greensock.plugins.TweenPlugin;
import com.greensock.plugins.BezierThroughPlugin;
TweenPlugin.activate([BezierThroughPlugin]); //activation is permanent in the SWF, so this line only needs to be run once., 2, {bezierThrough:[{x:250, y:100}, {x:50, y:200}, {x:500, y:200}]});

Copyright 2010, GreenSock. All rights reserved. This work is subject to the terms in or for corporate Club GreenSock members, the software agreement that was issued with the corporate membership.

Public Properties
 PropertyDefined by
 InheritedchangeFactor : Number
Public Methods
 MethodDefined by
parseBeziers(props:Object, through:Boolean = false):Object
[static] Helper method for translating control points into bezier information.
Public Constants
 ConstantDefined by
 InheritedVERSION : Number = 1.32