Got an idea for a tutorial centered around GreenSock tools like TweenLite, TweenMax, TimelineLite, TimelineMax, LoaderMax, etc.? Turn it into a “Shockingly Green” Club GreenSock membership by submitting it here. If your tutorial is deemed good enough to get posted on the GreenSock.com site, you’ll win a free membership plus the satisfaction of knowing that you’re helping a bunch of other developers. I keep getting requests for more training resources and example FLA files, Flex projects, etc. that developers can dissect to gain a better understanding of how to work with the GreenSock tools. So I need your help.
RoughEase and Ease Visualizer
Ever wanted a more “gritty” transition like an alpha fade that flickers a bit or a position tween that jerks around before reaching its destination? Ever thought to yourself “smooth eases are for sissies”? If so, you’re gonna like RoughEase. You can define an ease that it will use as a template (like a general guide – Linear.easeNone is the default) and then it will randomly plot points that wander from that template. The strength parameter controls how far from the template ease the points are allowed to go (a small number like 0.1 keeps it very close to the template ease whereas a larger number like 2 creates much larger jumps). You can also control the number of points in the ease, making it jerk more or less frequently. And lastly, you can associate a name with each RoughEase instance and retrieve it later like RoughEase.byName(“myEaseName”). RoughEase is included in all the tweening platform downloads and is available in AS2 and AS3.
Video Lesson: TimelineLite/Max Basics
If you’re familiar with TweenLite and/or TweenMax but haven’t tried the new TimelineLite or TimelineMax classes yet, don’t missing out. They make sequencing and managing groups of tweens fun. Get acquainted with the basics by watching this 16 minute video:
GreenSock Tweening Platform v11 Released
After hundreds of development hours, countless caffine-fueled late nights, and a level of preoccupation with tweening that borders on obsessive-compulsive, version 11 is born. This is no minor update. It is by far the most significant (and extensive) upgrade ever.
Getting Started Tweening
This article will help you get up and running with the GreenSock Tweening Platform. It covers installation, importing, basic tweening, special properties, plugins, choosing which engine to use (TweenLite/Max/Nano), sequencing with TimelineLite, and some tips and tricks. If your new to the GreenSock Tweening Platform, this is the place to start.
TweenNano – 1.6k TweenLite with Some Sacrifices
TweenNano is a super-lightweight (1.6k in AS3 and 2k in AS2) version of TweenLite and is only recommended for situations where you absolutely cannot afford the extra 3.1k (4.7k total) that the normal TweenLite engine would cost and your project doesn’t require any plugins. Normally, it is much better to use TweenLite because of the additional flexibility it provides via plugins and its compatibility with TimelineLite and TimelineMax.
TimelineMax – Sequence/Group Multiple Tweens, Control Them as a Whole
TimelineMax extends TimelineLite, offering exactly the same functionality plus useful (but non-essential) features like AS3 event dispatching, repeat, repeatDelay, yoyo, currentLabel, addCallback(), removeCallback(), tweenTo(), tweenFromTo(), getLabelAfter(), getLabelBefore(), and getActive() (and probably more in the future). It is the ultimate sequencing tool. Think of a TimelineMax instance like a virtual MovieClip timeline or a container where you position tweens (or other timelines) over the course of time.
TimelineLite – Sequence/Group Multiple Tweens, Control Them as a Whole
TimelineLite is a lightweight, intuitive timeline class for building and managing sequences of TweenLite, TweenMax, TimelineLite, and/or TimelineMax instances. You can think of a TimelineLite instance like a virtual MovieClip timeline or a container where you place tweens (or other timelines) over the course of time.
Licensing: "Free" != Better
Open source projects are great. Many provide elegant, refined code for free. They can save hours of development time and hassle. They’re often a jumping-off point for up-and-coming developers to share their innovation with the rest of the community, inspiring others to write better code. Of course there are also plenty of open source projects that are riddled with bugs, poorly documented, and downright dangerous to use. The web is littered with abandoned projects that once seemed promising. It’s like a clearance bin you’d find at a discount store – there may be some treasures in there, but you’ll have to dig through a lot of garbage to find them.
Over the years, I’ve seen quite a few open source tweening engines pop onto the scene, get some buzz, and then gradually stagnate and fade off the scene. Many stay in Beta for ages. Some contain known, unpatched bugs. The community usually does a good job of eventually recognizing quality solutions and gravitating towards them, but there are always people who try out the “latest and greatest” thing, only to be disappointed in the end as it stagnates or fails to mature. Don’t get me wrong – I’m NOT saying all other tweening projects have suffered this fate or are “bad” in some way. In fact, I have spoken directly with some of the authors like Grant Skinner (GTween), Zeh Fernando (Tweener), and Moses Gunesh (Fuse, GoASAP). I have the utmost respect for each of them, and this article isn’t meant to diminish anyone’s hard work or generosity in the least. From my perspective, however, there are some common frailties of open source projects in general that I have observed, and my goal has simply been to figure out a way to protect the GreenSock Tweening Platform from falling victim to them. I have learned that one of the key factors in keeping a project like TweenLite thriving is actually the licensing model.
Last Call for v11 Input
Before officially releasing v11 of the GreenSock tweening platform, I wanted to solicit feedback from the community one last time, particularly on TimelineLite/Max because after the API is locked down, it’s pretty tough to change. Here are the specific questions I’d like feedback on (please feel free to offer feedback/suggestions about topics that aren’t on this list too):
- 1) TimelineLite & TimelineMax – how does the API “feel”? – Does it give you the power and flexibility you need without being bloated? Have you found yourself needing some kind of functionality that’s missing? Is everything intuitive?
- 2) Should ALL plugins be activated in TweenMax by default? – I haven’t done so because I’m afraid it may be seen as “bloated” with the extra kb. On the other hand, it’s not terribly difficult to open the class file and prevent activation of certain plugins if you need to conserve file size, and activating all plugins would prevent some potential confusion for newbies. Keep in mind that there will likely be more and more plugins over time that offer added functionality, so if they’re all activated, TweenMax may hit 30kb at some point in the distant future.
- 3) Should I eliminate the default plugin activations in TweenLite? – This would cut the default file size by around 40%. When I asked this question in v10, I got a fair amount of feedback saying backwards compatibility was much more important than small file size, especially because end users could delete the activation code inside the class file if they needed smaller file size. Then again, TweenLite is supposed to prioritize small file size and a lot of end users are either scared to or don’t understand how to delete the activation code in the class file.
- 4) Are there any important features missing? – I’m trying to prevent bloat while at the same time provide tremendous flexibility, power, and speed. It’s a balancing act. Let me know if you were really hoping a particular feature would make its way into one of the classes.
- 5) What is your favorite feature (or features) that absolutely, positively shouldn’t get cut? – I’m not fishing for compliments here – it’s just helpful to know what the community values so that those features don’t end up on the cutting room floor (so to speak).
- 6) Should “repeat” be renamed “cycles”? – “repeat” seems more common, but some have suggested that “cycles” is more intuitive. If it gets changed to “cycles”, what would you name “repeatDelay”?
- 7) Should append() and prepend() be eliminated from the timeline classes? – One developer suggested eliminating append() and prepend() because they’re not absolutely necessary. For example, append() could be accomplished with myTimeline.insert(myTween, myTimeline.duration). prepend() is more difficult, though. Personally, I find them very intuitive for building sequences and they don’t cost much kb.
If you haven’t tried v11 yet, especially the TimelineLite and TimelineMax classes, I’d highly recommend it.







