TweenLite – A Lightweight, FAST Tweening Engine

IMPORTANT:
This page covers version 11 of TweenLite which will soon be “sunset” in favor of the new, more capable version 12. We highly recommend using v12 for all of your projects. It is very stable and has numerous improvements while being backwards compatible with most legacy code (see the v12 announcement for details). The new version also has an incredibly fast JavaScript flavor that uses an identical syntax. Don’t miss out; upgrade today.

The “Download AS3″ and “Download AS2″ links to the right get you the [older] v11 files. Click the “get GSAP” button on the left to get v12, or go to the main v12 announcement page.

Description

TweenLite is an extremely fast, lightweight, and flexible tweening engine that serves as the foundation of the GreenSock Animation Platform. A TweenLite instance handles tweening one or more numeric properties of any object over time, updating them on every frame. Sounds simple, but there’s a wealth of capabilities and conveniences at your fingertips with TweenLite. With plenty of other tweening engines to choose from, here’s why you might want to consider TweenLite:

  • SPEED - TweenLite has been highly optimized for maximum performance. See some speed comparisons yourself.
  • Feature set - In addition to tweening any numeric property of any object, TweenLite can tween filters, hex colors, volume, tint, frames, and even do bezier tweening, plus LOTS more. TweenMax extends TweenLite and adds even more capabilities like repeat, yoyo, repeatDelay, timeScale, event dispatching, on-the-fly destination value updates, rounding and more. Overwrite management is an important consideration in a tweening engine as well which is another area where the GreenSock Tweening Platform shines. You have options for AUTO overwriting or you can manually define how each tween will handle overlapping tweens of the same object.
  • Expandability - With its plugin architecture, you can activate as many (or as few) features as your project requires. Write your own plugin to handle particular special properties in custom ways. Minimize bloat, and maximize performance.
  • Sequencing, grouping, and management features - TimelineLite and TimelineMax make it surprisingly simple to create complex sequences or groups of tweens that you can control as a whole. play(), pause(), restart(), or reverse(). You can even tween a timeline’s currentTime or currentProgress property to fastforward or rewind the entire timeline. Add labels, gotoAndPlay(), change the timeline’s timeScale, nest timelines within timelines, and lots more.
  • Ease of use - Designers and Developers alike rave about how intuitive the platform is.
  • Support - Not only is the platform actively updated, but there are dedicated forums for getting your questions answered at http://forums.greensock.com. When you’re up against a deadline and run across some odd behavior, this can be a life saver. Using a stale open source alternative with limited or no active support can be costly indeed for your business.
  • AS2 and AS3 - Most other engines are only developed for AS2 or AS3 but not both.

Getting started

If you’re new to the GreenSock Tweening Platform, check out the “getting started” page. You’ll be up and running in no time.

Documentation

Please view full v11 ASDoc documentation here. For your convenience, the special properties are listed below as well, but to read up on all the methods and properties, definitely check the ASDocs.

Interactive demo – tweening basics

Special properties

You can pass any of the following special properties in through the constructor’s “vars” parameter like new TweenLite(mc, 1, {x:100, delay:1.5, paused:true, onComplete:myFunction}) to control various aspects of the tween (or use a TweenLiteVars object):

  • delay : Number – Number of seconds (or frames if useFrames is true) that should elapse before the tween begins.
  • paused : Boolean – Sets the initial paused state of the timeline (by default, tweens automatically begin playing)
  • useFrames : Boolean – If useFrames is set to true, the tween’s timing mode will be based on frames. Otherwise, it will be based on seconds/time. NOTE: a tween’s timing mode is always determined by its parent timeline.
  • ease : FunctionUse any standard easing equation to control the rate of change. For example, Elastic.easeOut. The Default is Quad.easeOut.
  • easeParams : Array An Array of extra parameters to feed the easing equation (beyond the standard first 4). This can be useful when using an ease like Elastic and want to control extra parameters like the amplitude and period. Most easing equations, however, don’t require extra parameters so you won’t need to pass in any easeParams.
  • immediateRender : Boolean Normally when you create a tween, it begins rendering on the very next frame (when the Flash Player dispatches an ENTER_FRAME event) unless you specify a delay. This allows you to insert tweens into timelines and perform other actions that may affect its timing. However, if you prefer to force the tween to render immediately when it is created, set immediateRender to true. Or to prevent a tween with a duration of zero from rendering immediately, set this to false.
  • overwrite : int Controls how (and if) other tweens of the same target are overwritten by this tween. There are several modes to choose from, but only the first two are available in TweenLite unless OverwriteManager.init() has been called (please see http://www.greensock.com/overwritemanager/ for details and a full explanation of the various modes):
    • NONE (0) (or false)
    • ALL_IMMEDIATE (1) (or true) – this is the default mode for TweenLite.
    • AUTO (2) – this is the default mode if TweenMax, TimelineLite, or TimelineMax is used in the swf. (these classes automatically init() OverwriteManager if you haven’t done so already)
    • CONCURRENT (3) (requires OverwriteManager)
    • ALL_ONSTART (4) (requires OverwriteManager)
    • PREEXISTING (5) (requires OverwriteManager)

    Example: TweenLite.to(mc, 1, {x:100, overwrite:0});

  • onInit : Function – A function that should be called just before the tween inits (renders for the first time). Since onInit runs before the start/end values are recorded internally, it is a good place to run code that affects the target’s initial position or other tween-related properties. onStart, by contrast, runs AFTER the tween inits and the start/end values are recorded internally. onStart is called every time the tween begins which can happen more than once if the tween is restarted multiple times.
  • onInitParams : Array – An Array of parameters to pass the onInit function.
  • onStart : Function – A function that should be called when the tween begins (when its currentTime is at 0 and changes to some other value which can happen more than once if the tween is restarted multiple times).
  • onStartParams : Array – An Array of parameters to pass the onStart function.
  • onUpdate : Function A function that should be called every time the tween’s time/position is updated (on every frame while the tween is active)
  • onUpdateParams : Array – An Array of parameters to pass the onUpdate function
  • onComplete : Function – A function that should be called when the tween has completed. To sense when a tween has reached its starting point again after having been reversed, use onReverseComplete.
  • onCompleteParams : Array – An Array of parameters to pass the onComplete function
  • onReverseComplete : Function – A function that should be called when the tween has reached its starting point again after having been reversed
  • onReverseCompleteParams : Array – An Array of parameters to pass the onReverseComplete function

PLUGINS

Plugins allow you to expand the capabilities of TweenLite/Max by handling specific properties in unique ways. Each plugin is associated with a special property name and it takes responsibility for handling that property. For example, the FrameLabelPlugin is associated with the “frameLabel” special property so if it is activated it will intercept the “frameLabel” property in the following tween and manage it uniquely:

TweenLite.to(mc, 1, {frameLabel:"myLabel"});

If the FrameLabelPlugin wasn’t activated, TweenLite would act as though you were trying to literally tween the mc.frameLabel property (and there is no such thing).

Activating a plugin requires a single line of code and you only need to do it ONCE in your application, so it’s pretty easy. Simply pass an Array containing the names of all the plugins you’d like to activate to the TweenPlugin.activate() method, like this:

import com.greensock.plugins.*;
TweenPlugin.activate([FrameLabelPlugin, ColorTransformPlugin]);

To make it even easier, I created the Plugin Explorer which writes the code for you. All you need to do is select the plugins and copy/paste the code from the bottom of the tool. It also shows interactive examples of each plugin and the assocaited code so that it’s easy to see the correct syntax.


TweenLite does not activate any plugins by default, but TweenMax does. When a plugin is activated, it affects both TweenLite and TweenMax. You can activate plugins directly inside the TweenLite class if you prefer by commenting or uncommenting the necessary lines towards the top of the class (clearly labeled).

Sample AS3 code

NOTE: All sample code is in AS3, but the AS2 version works exactly the same except the property names may be different, like “_x” instead of “x”, “_alpha” instead of “alpha”, etc. And in AS3, alpha/scaleX/scaleY go from 0-1 whereas in AS2, _alpha/_xscale/_yscale go from 0-100. This has nothing to do with TweenLite/Max – it’s just a change Adobe made in the AS3 language.

//import the GreenSock classes
import com.greensock.*;
import com.greensock.easing.*;

//tween the MovieClip named "mc" to an alpha of 0.5 over the course of 3 seconds
TweenLite.to(mc, 3, {alpha:0.5});

//scale myButton to 150% (scaleX/scaleY of 1.5) using the Elastic.easeOut ease for 2 seconds
TweenLite.to(myButton, 2, {scaleX:1.5, scaleY:1.5, ease:Elastic.easeOut});

//tween mc3 in FROM 100 pixels above wherever it is now, and an alpha of 0. (notice the vars object defines the starting values instead of the ending values)
TweenLite.from(mc3, 1, {y:"-100", alpha:0});

//after a delay of 3 seconds, tween mc for 5 seconds, sliding it across the screen by changing its "x" property to 300, using the Back.easeOut ease to make it shoot past it and come back, and then call the onFinishTween() function, passing two parameters: 5 and mc
TweenLite.to(mc, 5, {delay:3, x:300, ease:Back.easeOut, onComplete:onFinishTween, onCompleteParams:[5, mc]});
function onFinishTween(param1:Number, param2:MovieClip):void {
    trace("The tween has finished! param1 = " + param1 + ", and param2 = " + param2);
}

//call myFunction() after 2 seconds, passing 1 parameter: "myParam"
TweenLite.delayedCall(2, myFunction, ["myParam"]);

//use the object-oriented syntax to create a TweenLite instance and store it so we can reverse, restart, or pause it later.
var myTween:TweenLite = new TweenLite(mc2, 3, {y:200, alpha:0.5, onComplete:myFunction});

//some time later (maybe in by a ROLL_OUT event handler for a button), reverse the tween, causing it to go backwards to its beginning from wherever it is now.
myTween.reverse();

//pause the tween
myTween.pause();

//restart the tween
myTween.restart();

//make the tween jump to exactly its 2-second point
myTween.currentTime = 2;

FAQ

  1. I don’t want to use v11 – can I get a legacy copy of v10?
    Sure. But I do not plan to update previous versions. v10 was very stable and you can get it here: Download AS2 | Download AS3
  2. How do I activate extra plugins?
    Check out the Plugin Explorer above. Not only does it provide interactive examples of each plugin, but it also writes the activation code for you and shows how many kb the plugins will cost.
  3. How do I install the class? Do I have to import it on every frame?
    Please refer to the “getting started” page.
  4. Why do my tweens keep getting overwritten? How can I prevent that?
    By default, when you create a tween, TweenLite looks for all existing tweens of the same object and kills them immediately. However, you can add advanced management of overwriting (including AUTO overwriting of only overlapping properties) using the OverwriteManager class. Or pass “overwrite:false” in your tween’s vars object to ignore overwriting completely (be careful).
  5. Can I set up a sequence of tweens so that they occur one after the other?
    Of course! That’s precisely what TimelineLite and TimelineMax are for. But if file size is a big concern and you don’t need all the fancy extras those tools offer, you could just use the delay property in TweenLite. Here’s an example where we fade a MovieClip to an alpha of 0.5 over the course of 2 seconds, and then move it to a y coordinate of 300 over the course of 1 second:

    import com.greensock.TweenLite;
    TweenLite.to(mc, 2, {alpha:0.5});
    TweenLite.to(mc, 1, {y:300, delay:2, overwrite:false});
  6. Do the properties have to be in a specific order?
    Nope. So TweenLite.to(mc, 1, {x:100, y:200, alpha:0.5}) is the same as TweenLite.to(mc, 1, {alpha:0.5, y:200, x:100});
  7. Why are TweenLite and TweenMax split into 2 classes instead of building all the functionality into one class?
    1. File size. The majority of tweening doesn’t require the extra features in TweenMax like updateTo(), timeScale, repeat, repeatDelay, etc. so TweenLite is perfectly sufficient. TweenLite prioritizes efficiency and small file size whereas TweenMax prioritizes a rich feature set.
    2. Speed. TweenLite is slightly faster than TweenMax because it requires less code, although you’d probably never notice any difference unless you’re tweening multiple thousands of instances. See the speed test.
  8. Is there a way I can get code hinting and strict datatyping in the vars object I pass to TweenLite/TweenMax?
    Sure, the TweenLiteVars class does exactly that.
  9. Do I have to purchase a license to use this code? Can I use it for commercial purposes?
    You may use the code at no charge in commercial or non-commercial web sites, games, components, applications, and other software as long as end users are not charged a fee of any kind to use your product or gain access to it. If your client pays you a one-time fee to create the site/product, that’s perfectly fine and qualifies under the “no charge” license. If multiple end users are charged a usage/access/license fee of any kind, please simply sign up for a corporate Club GreenSock membership which comes with a special commercial license granting you permission to do so. See http://www.greensock.com/club/ for details. Club GreenSock members get several nifty bonus plugins, classes, update notifications, SVN access, and more. Your donations keep this project going. Please see the licensing page for details on licensing.

Need help?

Feel free to post your question on the forums. You’ll increase your chances of getting a prompt answer if you provide a brief explanation and include a simplified FLA file (and any class files) that clearly demonstrates the problem.

Author: Jack Doyle
Copyright 2013, GreenSock (This work is subject to the terms here.)

  • Twitter
  • Facebook
  • Digg
  • StumbleUpon
  • del.icio.us
  • Yahoo! Buzz
  • Google Bookmarks
  • RSS
  • LinkedIn
  • Reddit

Comments (87) RSS

Posted by felix on August 7, 2007

Bravo! This is load of functionality to squeeze into such a small package!

I love the fact that it overwrites previous tweens on the same object by default. This means if you apply many tweens to the same object (for example a button color tween on rollover/rollout), you don’t start leaking memory due to piling up tween objects (which I think may happen using Tweener?)

Posted by snowboardfoo on August 30, 2007

Awesome, awesome, awesome.

I have been developing my own animation library for years and switching it over to AS3 is a pain for sure.

You’ve done a really great job so far, keep up the good work!

Posted by Kristofer on August 30, 2007

This is exactly what I was looking for. YOU ARE THE MAN!
Thank you for all your work.

Posted by Rick Jones on September 17, 2007

Excellent job fixing Macradobe’s tween problem. I kept banging my head thinking that I was doing something wrong when using Adobe’s Tween class, due to the tweens hanging on me. Found out that it is a current bug. You can read this blog here to see others who are experiencing this issue: http://alvinzhang.info/?p=4

Oh and btw sent you some cash for your hard work. Really do appreciate it.

Posted by dzedward on October 24, 2007

I’ve found the built in Tween class in AS3 to be inconsistent, I switched to your class, and have yet to have a problem. Excellent work I must say.

Posted by Steve on November 19, 2007

Hi Jack,

This thing is absolutely mind blowing!!

I’m trying to use TweenLite to make a masked movieClip that contains many thumbnails to scroll left/right (scrolling gallery).

Is there a way for me to set the codes to tween the movieClip 50 pixels to the left or right instead of moving it to a specific X value on the stage??

In other words, I want to make it so that each time a user click on either the PREV or NEXT button, the movieClip will tween 50 pixels to the left or to the right.

Thanks a million for sharing it!!

Posted by jack on November 19, 2007

Steve, all you need to do is put quotes around your values to make them relative. So to move your MovieClip 50 pixels to the left, you’d do:
TweenLite.to(my_mc, 2, {x:”-50″});

Posted by Ignazio on November 22, 2007

I’m also trying this very good class. How can I do a relative movement using a variable as value?

TweenLite.to(my_mc, 2, {x:”+offset”}); doesn’t work.

Posted by jack on November 22, 2007

Ignazio, you can use a variable for relative offsets by coercing it into a String, like:
TweenLite.to(my_mc, 2, {x:String(offset)});

Posted by sean on December 14, 2007

I’m new to tweenlite and have yet to play with it (I will when I get some time), but was wondering if with tweenlite you still need to worry about garbage collection like you do with built-in AS3 tween class or if you put something in to handle this.
Thanks

Posted by jack on December 14, 2007

Sean, there’s no need to worry about garbage collection. It’s all built into the class. Just tween away to your heart’s content. Check out the speed test I whipped together (http://blog.greensock.com/tweening-speed-test/) and crank up the number of tweens – you should see that it scales very well and doesn’t bog down after a while (which you’d expect if there were garbage collection issues).

Posted by Matthew Wallace on December 18, 2007

Thanks so much for this code. I use it on all my projects. I was one that used the Fuse Kit all the time but started doing all my projects in AS3 and this saves the day and works way better.

Posted by kneural on December 21, 2007

got it!, thank you so much jack! TweenLite is amazing and makes things so much easier. esp with. TweenLite.from and the “” relative values. saves me so much more time and brain power when writing code. Its light-weightness is just what i need!

Your the best!

Posted by Scott Gibson on January 15, 2008

Just wanted to say that you have made my life so much easier – thanks so much for working so hard on it. Now if you can just apply this simplistic logic to textfield creation and formatting… or maybe a component library…

Posted by Jeroen on January 21, 2008

Jack, I came across your class while searching around for fixes for the standard Tween class! It was a big relief to implement your class! Everything was going so much faster! I really like it and I certainly will use it in other projects too!

Posted by Justin on January 22, 2008

Bless your heart Jack.

I think this might offer everything I need. I especially like being able to add a delay before starting tweens, and it’s also great to see that this offers built in garbage collection so I don’t have to push my tweens to an array and then clear out the array every time.

Posted by Matthew on January 29, 2008

Jack, this is absolutely fantastic, just did some tests of my own, TweenLite is even getting along really well with Papervision3D.

Posted by David on February 11, 2008

I’m glad I found this tweening engine on google, I am new to actionscript and this makes things easy for me, thanks for all your hard work. I wanted to ask about tweening many items in a row. I have 6 movieclips that I tween one right after the other. After the tween completes, am I supposed to remove the tween from memory somehow to make upcoming events run smooth? Like my_mc = null; or something?

Posted by jack on February 11, 2008

Nope, David, you don’t need to worry about memory management or “garbage collection” tasks with TweenLite. It handles it all for you. Once a tween has finished (actually, within about 2 seconds), it’ll delete itself. Tween with reckless abandon. Go crazy.

Posted by ashim on February 20, 2008

Jack, this is absolutely brilliant. I even feel like going over old project to shift from my earlier engine. Wish I could convince clients to pay me for it.

Posted by AmerSoft on March 17, 2008

Do you know what the loveliest thing is for me? (Beside its great features, free one)? It is that you keep developing both AS2 & AS3 versions for both TweenLite and TweenMax. This makes me depend on the same amazing twining class in both cases whether I want to develop an AS2 or AS3 project! You are live saver.

Posted by Antonio Lea on March 18, 2008

This is extremely useful. I really appreciate for making this available to public.

Posted by anoxamoon on March 26, 2008

TWEENLITE is the best thing that happened to me this year!

I JUST LOVE it…. I can’t get enough of it. I am making effects that would’ve been rendered impossible using other tween engines!

Posted by Bentley on June 8, 2008

Thanks for the awesome tweening engine :D
I have been using the built-in tween class for ages, but recently (today :) ) changed to TweenLite.

Not only has it been extremely simple to use, but it’s also much faster (which initially surprised me, as I expected the less dynamic built-in class to be faster) and it’s great not having to work with garbage collection e.t.c.

Posted by xenix on June 24, 2008

Man this tween class saved me!!! Actionscript 3 Tween class should be as successful as TweenLite.. really disappointed in adobe…

Posted by viktor hesselbom on August 6, 2008

Just wanted to say that I got really used to using the ActionScript 3.0 built-in Tween class and was skeptical at first when I was told it’s better to make the switch to a custom built.

When I found this class all I really needed to look at was the syntax and functionality and I was hooked! And the speed increase is just a neat bonus. Expect some donations in a near future. ;)

Posted by Bryant Miano on October 3, 2008

This amazing. Thank you for your hard work and for sharing such an immensely useful tool!

Posted by Tomer on October 5, 2008

Amazing work. Seriously this has saved me so much time and effort, and I’m sure the same is for hundreds of other developers.

As soon as I get payed for this project I’m working on, I’ll be sure to donate.

Posted by Rob on October 23, 2008

Wow. Brilliant.

Was getting increasingly unhappy with the bloat of Adobe’s built-in Tweening class. Thanks so much. I get paid at the end of the month, will definately drop a donation in your paypal.

Posted by Agustin on October 24, 2008

I’m completely sold!!!
I’ve just tried replacing Adobe’s Tween for your TweenLite on some camera movements, and all of the sudden everything rendered ridiculously fast!!! And I have been blaming away3D for ALL the slugishness… (still, having performance issues with the renderer) but man, it made a huge difference, I don’t care if it’s a few bites heavier and not strict typing, I just saved about 100 lines of code and that was just one of the camera’s Classes.

Oh, by the way – non-coding designers in my office appreciated the speed more than anyone else. Now they hate me for not showing them this sooner.

thanks for all. I’m blown away

Posted by snel on October 27, 2008

Class is really good. a lot better than Tweener and the documentation is really awesome

Posted by reaper on November 8, 2008

Wow
Wow
WOOOOOOOOOOOOOOOW!!!

Posted by grabek on November 25, 2008

the more I use it, the more I’m addicted to it!

and this time, addiction is not a bad thing!

Posted by Jeremy Glover on February 13, 2009

Thank you so much for this awesome code. It saves me a ton of time and is soooo efficient and flexible. Great work!

Posted by Sheena on February 14, 2009

Just saved me so much time trying to do the simplest thing from scratch. You are amazing! Thank you for taking the time to do this and share it with the rest of us, awesome work!

Posted by Sean on February 27, 2009

Great utility — I’m replacing Tweener with this in my code.

I guarantee I’ll be purchasing a license for this for my current and future products — good work!

Posted by FinancialServicesRenoNV on March 28, 2009

Greetings all members, I would just like to say hello and let you know that I’m happy to be a member – been a lurker long enough :)

Posted by AmerSoft on April 24, 2009

Congratulation Jack !! it was my real pleasure when I saw “Todd Perkins” the Flash specialist and Adobe Certified Instructor recommends your TweenLite as the “powerful and favorite tween engine” in his “Flash CS4 Professional OOP” video tutorial at Lynda.com:
http://www.lynda.com/home/DisplayCourse.aspx?lpk2=759
Yes , I vote with him too , your engine is the best , Thank you for sharing this great engine with us , YOU ROCK !! :)

Posted by Jk_ on June 12, 2009

Todd Perkins recommended your website and ever since I found it, I fell in love with your engine. Each day I discover something new, something which eases my life as a web-developer! Thank you very much for it.

Posted by Chris on July 8, 2009

I was having some issues with IE7 maxing out the CPU at 100% using the default Adobe Tweens – just swapped them out for TweenLite and literally doubled the performance! Now it spikes up to around 70% and drops to 5% between tweens – and that’s easily the worst performing browser. Excellent tween engine, I noticed an instant performance increase across all browsers. Good work!

Posted by Bauke Regnerus on July 11, 2009

The TweenLite class and all related classes are keep on getting better and better. Congratulations!

Posted by Ben Fisher on September 4, 2009

Having only just discovered this engine I am very impressed!

So easy to use and very effective. A minute after download I had my movieclips dancing across the stage, all of my colleagues are in the process of installing it :)

I’ll harass my boss and see if we can allocate you some of the budget as a small donation!

Excellent work Jack.

Posted by Rich Brill on September 16, 2009

This is an incredibly easy to use Tweening platform! I have used it for several Papervision3D projects and it has been more or less flawless so far. Good work Jack!

Posted by Larry McCauley on September 22, 2009

I just wanted to say thank you for such an amazing class! It has really given me all the elements I need in an easy to use way to achieve what my imagination sees. Greensocks rocks, and I am well grateful. Will donate when I can.

Posted by Doug Burnett on October 22, 2009

Congrats on the new v11. Very exciting for the entire Tween Engine users community.

Posted by Bob on November 4, 2009

Jack-

You’re amazing. I love you for what you’ve done. You will be getting a donation shortly :) Stuff like this deserves money.

Posted by derek on December 10, 2009

I’m just getting the hang of AS3 and things like tweenlite so this stuff blows my mind. You’ve done some great stuff. Keep doing what you do!

Posted by Ain Tohvri on February 7, 2010

Great work on GC! I also managed to cut off approx. 30% CPU load with TimelineLite/TweenLite in one of my 3D Flash components. Worked like a charm!

Posted by Grant on February 24, 2010

A priceless library. No Flash developer should be without it. I wish all code libraries/APIs were as simple, versatile and fun to use.

Posted by Mona on March 3, 2010

Wish I had found this way back… Once you get your head around the concept it is absolutely priceless! Awesome! I’ll recommend everyone I know to use this and put you guys a link wherever I can.
Keep up the great work!

Posted by Romul on March 7, 2010

I’ve just discovered TweenLite. I don’t know how I could live without it. This is amazing!
Thank you for great work!

Posted by Hugo on March 8, 2010

this thing is amazing!!

I think I am going to stop outsourcing my flash work and do it myself, just because tweenLite is so flippin cool!

A big thanks to the clever guys who develop these tools, you are really adding value to the world in your own way.

Posted by Eddie on March 12, 2010

Thank you so very much for these tween classes. this is going to make my life a lot easier when I have flash projects to do. Adobe’s built in tween really really sucks. I don’t know why they couldn’t build one like this from the get go. No wonder Apple has been talking smack about their programmers. Anyways thanks again.

Posted by Dave on March 19, 2010

I’ve been relying heavily on these classes, they’re amazing, a big THANK YOU.

Posted by vison2 on March 31, 2010

Thank you so much for this awesome code. It saves me a ton of time and is soooo efficient and flexible. Great work!

Posted by Jared on April 13, 2010

Thanks Jack! Its a breath of fresh air to have someone out there handling this kind of thing for the rest of us. Hats off to you on such a great job! I used TweenLite for the first time last week, and was extremely impressed with the smoothness and stability of the engine. Finally!!!

Anyway, just curios, is there a TweenLite equivalent for playing Flash Video? I need a class/engine that I can use to play flash videos on my site without creating the player myself or using Flash’s built-in hog! But in the words of TweenLite, I need something… “extremely fast, lightweight, and flexible”. If anyone has any suggestions of something light but stable, please email me.

Thanks again Jack. I am an instant fan and will be using more of your stuff from now on. Great work!!! Thank you! ;)

Posted by mauricio silva on April 26, 2010

Great work! Before I discovered TweenLite, I used to break my head with those other lame tweening class. It change my life (at least a little part of it :). excellent!!!!!

Posted by Flacoloco on May 13, 2010

TweenLite/TwenMax really help me to create stunning transitions and effect with just 1 line of code.

Great work! Keep on this way!

Thank you very much! :)

Posted by Fast Hosting on June 8, 2010

One of the best things to even happen to Actionscript! TweenLite/Max makes handling animation so much easier and faster. I purchased the “Really Green” membership, and have not been sorry. Jack continues to add value to this, by releasing more and more classes. Now with the TimelineMax classes, it even alleviates some need for timeline animations, making even more fast, efficient, and controllable!

Posted by Tobias on June 9, 2010

I wanted to thank you for this great work. I am using this since a long time and never had (big) problems with it. It makes a little part of my work very easy.

thank you

Posted by Pellumb Hasani on June 12, 2010

Hello Jack, TweenLite/Max is the best tweening engine I’ve ever used, and from the first time I started using it, I love it.

Thanks for the great work and support :)

Posted by Mehedi on July 5, 2010

awesome plugins for flash :)

Thanks

Posted by EMIL on July 22, 2010

Thank you very much for TweenLite/TweenMax it’s the external library i use the most.

Posted by Akarso on August 4, 2010

Absolutely fabulous package!! Made by developer for developers.

Posted by Ariden on August 27, 2010

Good package, I always use it :)

Posted by Scaleform-Developer on September 10, 2010

What I don’t understand is why the Flash timeline manipulation wasn’t as feature filled as this in the first place. Time and time again I use TweenLite as my tool for flash interface, menus and animations. Ive had a 100% success rate on smoother, controlled animation over the usual methods. Thanks for the time you put in you saved many man hours!

Posted by Zeichenbilder on October 18, 2010

Hello, TweenLite/Max is easy to learn for beginners. Im new at flash and like to try this plugin. Nice package

Posted by rui on December 16, 2010

Holy #%!*, nice work!!!!!

Posted by Raghunath D. Sontakke on December 21, 2010

This is very easy to use, especially if you know how to use Adobe’s Tween class. Really great. Saves a lot of time and the file size is tight.
Thanks GreenSock

Posted by Philip on January 14, 2011

Genius….this is simply amazing…!!

Posted by Adam Collier on February 16, 2011

I’m just working on my website at the moment and this is the SHIZZZZZ NITTTT!!!!!

!!!!!!!!!!!!!!!!!!!!I KNEW IT WASN’T ME STUFFING UP THE CODE!!!!!!!

IT WAS THAT CRAPPY TWEEN FUCTION FROM ADOBE!!!!!

YOU ARE A LIFE SAVING HERO!!!!!!

Posted by Paolo Iulita on March 14, 2011

Hello Jack.
I am a new “shockingly green” club member.
This is just to say that it’s worth every cent i spent for it.
Classes are awesome, and works perfectly.
I love both TweenMax and LoaderMax. As soos as I can I will spend some time on the learning resources section to know more about those beauties :)

So, sincerely, thanks.

Paolo

Posted by Rutu on April 27, 2011

Hi Jack,

Thank you for greensock! It is absolutely amazing and so very simple to integrate into any flash site!

-R

Posted by Tim on May 10, 2011

Hi Jack,
ps. greensock is one of the best documented plugins around.
Great work! all besides the classes themself!

Greatings from Berlin,
Tim

Posted by hi on October 25, 2011

Really Great Work!!!

Posted by Math dude on November 16, 2011

Very easy to use, well documented tween library, and works!!… Useful any flash project. Thanks!

Posted by YKA3 on March 21, 2012

I LOVE IT!

Posted by Jay Peezy on March 25, 2012

Your work is absolutely amazing, and has saved countless hours of work!

Posted by Caccola from Italy on April 17, 2012

Awesome! I just love it, it makes scripted animations soooo much easier. Great job!

Posted by Jeux.mu on September 24, 2012

Probably the most useful as3 class for flash games !

Posted by Sushil Mandi on October 11, 2012

You made my life easier, Jack!
Keep up the good work.

Posted by Apawn on December 20, 2012

I should say THANK YOU to the team of the authors! Your’s
works is really helpful for me!

Posted by Sayka on February 16, 2013

WOW…. Awesome work.. Jack

Posted by thawab on April 20, 2013

I am really impressed. WOW

Posted by Bsl on May 18, 2013

This is fantastic!!!! THANK YOU!!!!

Posted by Abdulraheem on June 17, 2013

Thanks a lot for the amazing code .. It made my life easy !!

Posted by Sunny on December 15, 2013

I just want to show my appreciation on your product. It’s amazing

To download the code, you must agree to the following license:

"NO CHARGE" NON-EXCLUSIVE SOFTWARE LICENSE AGREEMENT
-----------------------------------------------------------------------------
PLAIN ENGLISH SUMMARY:

  1. You may use the code at no charge in commercial or non-commercial apps, web sites, games, components, and other software as long as end users are not charged a fee of any kind to use your product or gain access to any part of it. If your client pays you a one-time fee to create the site/product, that's perfectly fine and qualifies under the "no charge" license. If end users are charged a usage/access/license fee, please sign up for a "Business Green" Club GreenSock membership which comes with a comprehensive commercial license. See http://www.greensock.com/club/ for details.
  2. Use at your own risk. No warranties are offered.
  3. Please respect the copyright.

-----------------------------------------------------------------------------

LEGALESE:

This is a legal agreement between you (either an individual or a single entity) and GreenSock, Inc. ("GREENSOCK") for the proprietary GreenSock code known as TweenLite, TweenMax, TweenNano, TimelineLite, TimelineMax, and other copyrighted code that is available for download at http://www.greensock.com (this code and documentation, as well as any updates which may at GREENSOCK's sole discretion be provided to you from time to time, are referred to in this Agreement as "PROGRAM"). By downloading, copying, or otherwise using the PROGRAM, you agree to the terms and conditions of this Agreement. If you do not agree to the terms and conditions of this Agreement, please do not download or use the PROGRAM.

I. LICENSE
A. Subject to the terms and conditions of this Agreement, GREENSOCK hereby grants you a non-exclusive, worldwide, non-transferable right to use the PROGRAM in apps, web sites, games, components and other software applications ("Developed Works") for which the end user is NOT charged any fees. If you would like to use the code in a commercially licensed Developed Work for which end users are charged a fee (either for usage or access), simply sign up for the appropriate "Business Green" Club GreenSock membership at http://www.greensock.com/club/.

II. LIMITATION OF LICENSE AND RESTRICTIONS
A. You agree that you will not sell, rent, or license the PROGRAM's source code or any derivative works thereof to any third party without the prior written consent of GREENSOCK. Distribution of the PROGRAM as part of your Developed Work is acceptable so long as it is used exclusively as a part of your Developed Work. You agree not to modify or delete GREENSOCK'S existing copyright notices located in the source code.

B. You may use, duplicate, and distribute the compiled object code as embedded in Developed Works created by you, either for your own use or for distribution to a third party so long as end users of the Developed Work are not charged a fee for usage of or access to any portion of the Developed Work. Please see http://www.greensock.com/licensing/ for descriptions of Developed Works that qualify for the "No Charge" license.

C. You may make modifications to the source code exclusively for your own use in order to perform bug fixes or other minor edits required to operate the PROGRAM as originally intended.

III. CONSIDERATION
A. The license rights granted to you under this Agreement are at no charge, but only in the following circumstances: If on your own behalf or on behalf of a third party you incorporate the PROGRAM into a web site, app, game, program or any component thereof (collectively, "Developed Work"), which in the case of a web site, must be accessible to internet users without payment of a fee of any kind, and in the case of a software application, game, program or component, neither you nor anyone to whom you distribute the Developed Work charges a user a fee of any kind to use such Developed Work or application, game, program or component into which such Developed Work is embedded. The foregoing shall apply regardless of whether you are paid to create such Developed Work.

B. In the event your intended use of the PROGRAM does not meet the criteria for the "no charge" license rights set forth in the immediately preceding paragraph, then you are not licensed to use the PROGRAM under this Agreement and must license the PROGRAM under GREENSOCK'S separate fee-based Software License Agreement which is granted to "Business Green" Club GreenSock members (see http://www.greensock.com/club/ for details).

C. You may make modifications to the source code exclusively for your own use in order to perform bug fixes or other minor edits required to operate the PROGRAM as originally intended.

IV. TITLE AND OWNERSHIP
A. The PROGRAM is licensed, not sold, and is protected by copyright laws and international treaty provisions. You acknowledge that no title to the intellectual property in the PROGRAM is transferred to you. You further acknowledge that title and full ownership rights to the PROGRAM, including all intellectual property rights therein, will remain the exclusive property of GREENSOCK and you will not acquire any rights to the PROGRAM except as expressly set forth in this Agreement. You agree that any copies of the PROGRAM you make will contain the same proprietary notices which appear on and in the PROGRAM. You agree that GREENSOCK may identify you as a licensee unless you make a written request otherwise. GREENSOCK hereby grants to you the right to disclose that your product, game, software application, component, or other Developed Work makes use of GREENSOCK code (for example, "Powered by TweenLite").

V. DISCLAIMER OF WARRANTY AND LIMITATION OF LIABILITY
A. THE PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. GREENSOCK DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE PROGRAM WILL MEET YOUR REQUIREMENTS OR THAT OPERATION WILL BE UNINTERRUPTED OR ERROR FREE. GREENSOCK shall not be liable for special, indirect, incidental, or consequential damages with respect to any claim on account of or arising from this Agreement or use of the PROGRAM, even if GREENSOCK has been or is hereafter advised of the possibility of such damages. Because some states do not allow certain exclusions or limitations on implied warranties or of liability for consequential or incidental damages, the above exclusions may not apply to you. In no event, however, will GREENSOCK be liable to you, under any theory of recovery, in an amount in excess of $250. Notwithstanding anything else in this agreement, you agree to indemnify GREENSOCK, its assignees, and licensees, and hold each of them harmless from and against any and all claims, losses, damages, and expenses, including legal fees arising out of or resulting from any negligent act or omission by you.

B. GREENSOCK may, at its sole discretion, provide support services related to the PROGRAM, but has no obligation to do so.

VI. TERMINATION
If you at any time fail to abide by the terms of this Agreement, GREENSOCK shall have the right to immediately terminate the license granted herein and pursue any other legal or equitable remedies available.

VII. MISCELLANEOUS
A. This Agreement shall be construed in accordance with the laws of the State of Illinois. In the event of any dispute between you and GREENSOCK with respect to this Agreement, we both agree that if we cannot resolve the dispute in good faith discussion, either of us may submit the dispute for resolution to arbitration with the American Arbitration Association before a single arbitrator using the AAA Rules for Commercial Arbitration. The arbitrator's decision is final and can be enforced in any court with jurisdiction over such matters.

B. This agreement represents the complete and exclusive statement of the agreement between GREENSOCK and you and supersedes all prior agreements, proposals, representations and other communications, verbal or written, between them with respect to use of the program. This agreement may be modified only with the mutual written approval of authorized representatives of the parties.

C. The terms and conditions of this Agreement shall prevail notwithstanding any different, conflicting, or additional terms or conditions which may appear in any purchase order or other document submitted by you. You agree that such additional or inconsistent terms are deemed rejected by GREENSOCK.

D. GREENSOCK and you agree that any xerographically or electronically reproduced copy of this Agreement shall have the same legal force and effect as any copy bearing original signatures of the parties.

Copyright 2006-2013, GreenSock, Inc. Updated 2012-08-28

I'd like to learn how to get bonus plugins, update notifications, SVN access, and more.
To continue, you must agree to the following license: