AS3 tweening platform: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 2: Line 2:
== Introduction ==
== Introduction ==


'''TweenLite''' is an [[Actionscript 3]] tweening class written by Jack Doyle, [http://blog.greensock.com/tweenliteas3 GreenSock]
'''TweenLite, TweenFilterLite, TweenMax, TweenGroup and  TransformManager''',  are [[Actionscript 3]] tweening classs written by Jack Doyle, [http://blog.greensock.com/tweenliteas3 GreenSock]
The purpose of this page is to have a printable version of the manual part of [http://blog.greensock.com/tweenliteas3 Tweenlite's homepage] and to add some more examples at later stage....
The purpose of this page is to have a printable version of the documentation and to add some examples that could be useful to "simple" Flash designers.


TweenLite has "sister" classes that can extend or complete this library.
* [http://blog.greensock.com/tweenliteas3/ TweenLite] - a light-weight and fast tweenclass to create animation and shape tweens in one go.
* [http://blog.greensock.com/tweenfilterliteas3/ TweenFilterLite] - extends TweenLite to add more filters (like blurs, glows, contrast, brightness, etc.)
* [http://blog.greensock.com/tweenfilterliteas3/ TweenFilterLite] - extends TweenLite to add more filters (like blurs, glows, contrast, brightness, etc.)
* [http://blog.greensock.com/tweenmaxas3/ TweenMax] - is an extension of both Tweenlite and TweenFilterLite.
* [http://blog.greensock.com/tweenmaxas3/ TweenMax] - does both of Tweenlite and TweenFilterLite and more.
* [http://blog.greensock.com/tweengroup/ TweenGroup] - allow to manage groups of TweenLite/FilterLite/Max tweens. E.g. you can create a few tweens with TweenLite or TweenMax and then then play these in sequence.
* [http://blog.greensock.com/tweengroup/ TweenGroup] - allow to manage groups of TweenLite/FilterLite/Max tweens. E.g. you can create a few tweens with TweenLite and then then play these in sequence.
* [http://blog.greensock.com/transformmanageras3/ TransformManager] - add interactive scaling/rotating/moving of DisplayObjects in your Flash animation.
* [http://blog.greensock.com/transformmanageras3/ TransformManager] - add interactive scaling/rotating/moving of DisplayObjects in your Flash animation.


Please refer to the TweenLite homepage and also consider donating something to Jack.
Please refer to the [http://blog.greensock.com/tweenliteas3 GreenSock] website for official information and also consider donating something to Jack.


== Usage summary ==
== Tweenlite Usage summary ==


This class includes a few static methods that you can use like functions.
This class includes a few static methods that you can use like functions.
Line 124: Line 124:
* '''function:''' Any/All delayed calls to this function will be killed.
* '''function:''' Any/All delayed calls to this function will be killed.


 
== TweenLite examples ==
== Examples ==


As a simple example, you could tween the alpha to 50% (0.5) and move the x position of a MovieClip named "clip_mc" to 120 and fade the volume to 0 over the course of 1.5 seconds like so:  
As a simple example, you could tween the alpha to 50% (0.5) and move the x position of a MovieClip named "clip_mc" to 120 and fade the volume to 0 over the course of 1.5 seconds like so:  
Line 162: Line 161:
</pre>
</pre>


== TweenFilterLite usage ==
TweenFilterLite '''extends''' the TweenLite class, adding the ability to tween filters (like blurs, glows, drop shadows, bevels, etc.) as well as advanced effects like contrast, colorization, brightness, saturation, hue, and threshold.
; Syntax (identical to the TweenLite class), e.g.
TweenFilterLite.to(target:Object, duration:Number, variables:Object);
Example:
  TweenFilterLite.from(clip_mc, 5, {colorMatrixFilter:{colorize:0xFF0000}})
In addition to the TweenLite parameters described above you can use:
* '''blurFilter:Object''' - blur with one or more of the following properties:
** blurX, blurY, quality.
Example:
TweenFilterLite.to(clip_mc, 2, {blurFilter:{blurX:1, blurY:2}}
* '''glowFilter:Object'''
alpha,  blurX,  blurY,  color,  strength,  quality,  inner,  knockout,
* '''colorMatrixFilter : Object'''
colorize, amount,  contrast,  brightness,  saturation,  hue,  threshold,  relative,  matrix,
TweenFilterLite.to(clip_mc, 2, {colorMatrixFilter:{colorize:0xFF0000, amount:1}});
* '''dropShadowFilter : Object'''
** alpha,  angle,  blurX,  blurY,  color,  distance,  strength,  quality
* '''bevelFilter : Object'''
** angle,  blurX,  blurY,  distance,  highlightAlpha,  highlightColor,  shadowAlpha,  shadowColor, , gth,  quality


[[Category: Technologies]]
[[Category: Technologies]]

Revision as of 12:12, 28 October 2008

Introduction

TweenLite, TweenFilterLite, TweenMax, TweenGroup and TransformManager, are Actionscript 3 tweening classs written by Jack Doyle, GreenSock The purpose of this page is to have a printable version of the documentation and to add some examples that could be useful to "simple" Flash designers.

  • TweenLite - a light-weight and fast tweenclass to create animation and shape tweens in one go.
  • TweenFilterLite - extends TweenLite to add more filters (like blurs, glows, contrast, brightness, etc.)
  • TweenMax - does both of Tweenlite and TweenFilterLite and more.
  • TweenGroup - allow to manage groups of TweenLite/FilterLite/Max tweens. E.g. you can create a few tweens with TweenLite and then then play these in sequence.
  • TransformManager - add interactive scaling/rotating/moving of DisplayObjects in your Flash animation.

Please refer to the GreenSock website for official information and also consider donating something to Jack.

Tweenlite Usage summary

This class includes a few static methods that you can use like functions.

  1. TweenLite.to - create a tween of multiple properties of an object
  2. TweenLite.from - same as above (you specify the result of the tween))
  3. TweenLite.delayedCall - Call a function after number of seconds
  4. TweenLite.killDelayedCallsTo - Kill delayed calls (see previous line)
  5. TweenLite.killTweensOf - Kills all tweens of a particular object
  6. TweenLite.removeTween - Removes a tween
  1. TweenLite.removeTween

TweenLite.to

Description: Tweens the target's properties from whatever they are at the time you call the method to whatever you define in the variables parameter.

Syntax:

TweenLite.to(target:Object, duration:Number, variables:Object);

You can keep track of an instance if you want to (e.g. to kill it):

var myTween:TweenLite = TweenLite.to(target:Object, duration:Number, variables:Object);

Alternative object-oriented syntax:

var myTween:TweenLite = new TweenLite(target:Object, duration:Number, variables:Object);

This is almost equivalent to the above. The former is usually preferrable since it will handle garbage collection.

Parameters:

  1. target: Target MovieClip (or any object) whose properties we're tweening
  2. duration: Duration (in seconds) of the tween
  3. variables: An object containing the end values of all the properties you'd like to have tweened (or if you're using the TweenLite.from() method, these variables would define the BEGINNING values). Putting quotes around values will make the tween relative to the current value. For example, x:"-20" will tween x to whatever it currently is minus 20 whereas x:-20 will tween x to exactly -20.

Here is a simple example that will move a symbol called "mouse" to position x=120 in about 1.5 seconds)

TweenLite.to(clip_mc, 1.5, {x:120}

Properties you can change in the variables object:

You can change many properties at the same time and this one reason why this library is so nice. In the following example a movie clip called "clip:mc" will move to position x=120, it's alpha will fade to 50% and its volume will fade out completely:

TweenLite.to(clip_mc, 1.5, {alpha:0.5, x:120, volume:0});
  • alpha: The alpha (opacity level) that the target object should finish at (or begin at if you're using TweenLite.from()). For example, if the target.alpha is 1 when this script is called, and you specify this parameter to be 0.5, it'll transition from 1 to 0.5.
  • x: To change a MovieClip's x position, just set this to the value you'd like the MovieClip to end up at (or begin at if you're using TweenLite.from()).
  • y: To change a MovieClip's y position (like above).
  • delay: The number of seconds you'd like to delay before the tween begins. This is very useful when sequencing tweens
  • scaleX: Scaling in X direction
  • scaleY: Scaling in Y direction
  • rotation: Clock-wise rotation in degrees.
  • ease: You can specify a function to use for the easing with this variable. For example, fl.motion.easing.Elastic.easeOut. The Default is Regular.easeOut (and Linear.easeNone for volume).
  • autoAlpha: Same as changing the "alpha" property but with the additional feature of toggling the "visible" property to false if the alpha ends at 0. It will also toggle visible to true before the tween starts if the value of autoAlpha is greater than zero.
  • volume: To change a MovieClip's volume, just set this to the value you'd like the MovieClip to end up at (or begin at if you're using TweenLite.from()).
  • mcColor: To change a MovieClip's color, set this to the hex value of the color you'd like the MovieClip to end up at(or begin at if you're using TweenLite.from()). An example hex value would be 0xFF0000. If you'd like to remove the color from a MovieClip, just pass null as the value of mcColor.
  • onStart: If you'd like to call a function as soon as the tween begins, pass in a reference to it here. This can be useful when there's a delay and you want something to happen just as the tween begins.
  • onStartParams: An array of parameters to pass the onStart function.
  • onUpdate: If you'd like to call a function every time the property values are updated (on every frame during the time the tween is active), pass a reference to it here.
  • onUpdateParams: An array of parameters to pass the onUpdate function (this is optional)
  • onComplete: If you'd like to call a function when the tween has finished, use this.
  • onCompleteParams: An array of parameters to pass the onComplete function (this is optional)
  • overwrite: If you do NOT want the tween to automatically overwrite any other tweens that are affecting the same target, make sure this value is false.

TweenLite.from

TweenLite.from(target:Object, duration:Number, variables:Object);

Description: Exactly the same as TweenLite.to(), but instead of tweening the properties from where they're at currently to whatever you define, this tweens them the opposite way - from where you define TO where ever they are now (when the method is called). This is handy for when things are set up on the stage where the should end up and you just want to animate them into place.

Parameters: Same as TweenLite.to(). (see above)

TweenLite.delayedCall

TweenLite.delayedCall(delay:Number,onComplete:Function,onCompleteParams:Array);

Description: Provides an easy way to call any function after a specified number of seconds. Any number of parameters can be passed to that function when it's called too.

Parameters:

  1. delay: Number of seconds before the function should be called.
  2. onComplete: The function to call
  3. onCompleteParams [optional] An array of parameters to pass the onComplete function when it's called.

TweenLite.killTweensOf

TweenLite.killTweensOf(target:Object);

Description: Provides an easy way to kill all tweens of a particular Object/MovieClip. Parameters:

  • target: Any/All tweens of this Object/MovieClip will be killed.


TweenLite.killDelayedCallsTo

TweenLite.killDelayedCallsTo(function:Function);

Description: Provides an easy way to kill all delayed calls to a particular function (ones that were instantiated using the TweenLite.delayedCall() method). Parameters:

  • function: Any/All delayed calls to this function will be killed.

TweenLite examples

As a simple example, you could tween the alpha to 50% (0.5) and move the x position of a MovieClip named "clip_mc" to 120 and fade the volume to 0 over the course of 1.5 seconds like so:

import gs.TweenLite;
TweenLite.to(clip_mc, 1.5, {alpha:0.5, x:120, volume:0});

If you want to get more advanced and tween the clip_mc MovieClip over 5 seconds, changing the alpha to 50% (0.5), the x coordinate to 120 using the Back.easeOut easing function, delay starting the whole tween by 2 seconds, and then call a function named "onFinishTween" when it has completed and pass in a few parameters to that function (a value of 5 and a reference to the clip_mc), you'd do so like:

import gs.TweenLite;
import fl.motion.easing.Back;
TweenLite.to(clip_mc, 5, {alpha:0.5, x:120, ease:Back.easeOut,
          delay:2, onComplete:onFinishTween, onCompleteParams:[5, clip_mc]});
function onFinishTween(parameter1_num:Number, parameter2_mc:MovieClip):void {
 trace("The tween has finished! parameters: " + parameter1_num + ", and " + parameter2_mc);
  }

If you have a MovieClip on the stage that is already in its end position and you just want to animate it into place over 5 seconds (drop it into place by changing its y property to 100 pixels higher on the screen and dropping it from there), you could:

import gs.TweenLite;
import fl.motion.easing.Elastic;
TweenLite.from(clip_mc, 5, {y:"-100", ease:Elastic.easeOut});

Sequence of tweens so that they occur one after the other. Just use the delay property and make sure you set the overwrite property to false (otherwise tweens of the same object will always overwrite each other to avoid conflicts). Here's an example where we colorize a MovieClip red over the course of 2 seconds, and then move it to a _y coordinate of 300 over the course of 1 second:

import gs.TweenLite;
TweenLite.to(clip_mc, 2, {mcColor:0xFF0000});
TweenLite.to(clip_mc, 1, {y:300, delay:2, overwrite:false});


TweenFilterLite usage

TweenFilterLite extends the TweenLite class, adding the ability to tween filters (like blurs, glows, drop shadows, bevels, etc.) as well as advanced effects like contrast, colorization, brightness, saturation, hue, and threshold.

Syntax (identical to the TweenLite class), e.g.
TweenFilterLite.to(target:Object, duration:Number, variables:Object);

Example:

 TweenFilterLite.from(clip_mc, 5, {colorMatrixFilter:{colorize:0xFF0000}})

In addition to the TweenLite parameters described above you can use:

  • blurFilter:Object - blur with one or more of the following properties:
    • blurX, blurY, quality.

Example:

TweenFilterLite.to(clip_mc, 2, {blurFilter:{blurX:1, blurY:2}}
  • glowFilter:Object

alpha, blurX, blurY, color, strength, quality, inner, knockout,

  • colorMatrixFilter : Object

colorize, amount, contrast, brightness, saturation, hue, threshold, relative, matrix,

TweenFilterLite.to(clip_mc, 2, {colorMatrixFilter:{colorize:0xFF0000, amount:1}});
  • dropShadowFilter : Object
    • alpha, angle, blurX, blurY, color, distance, strength, quality
  • bevelFilter : Object
    • angle, blurX, blurY, distance, highlightAlpha, highlightColor, shadowAlpha, shadowColor, , gth, quality