GreenSock


Sneak Peek – What’s Next for the GreenSock Tweening Platform

Posted in Tweening by jack on the December 24th, 2008

I’m working on the biggest update to the GreenSock tweening platform in a long time, and I’m weighing some fundamental decisions about which I’d like your input. I’m also looking for beta testers. Let me outline the enhancements:

  1. Shift to a plugin architecture – Most special properties (like “tint”, “visible”, “frame”, “blurFilter”, “bezierThrough”, etc.) will be separated into optional plugins that can be activated (or not). This makes it possible to only add the features you need and keep file size down and speed maximized. It also means you can author your own plugins to handle whatever special properties you want! If the platform is missing a feature you want, you can probably just write a plugin. And don’t worry – you’ll still be able to tween ANY property of ANY object without plugins. The plugins only apply to properties that require special handling.
  2. Eliminate TweenFilterLite – With the new plugin architecture, you can just activate the filter plugins in TweenLite or TweenMax, so I can’t see any compelling reason to keep TweenFilterLite around.
  3. Add “frameLabel” plugin – Allows you to tween to a particular frame label. It’s just like the current “frame” feature, but instead of defining a frame number, you define the label.
  4. Add “setSize” plugin – Allows for easy tweening of component width/height with setSize().
  5. Add “remove” property to all filter tweens – if “remove” is set to true, the filter will be removed at the end of the tween.
  6. Add “index” property to all filter tweens – allows you to define a specific index number in the DisplayObject’s filters Array where you’d like your filter tween to occur. This is not mandatory – it just provides more flexibility.
  7. Add “addFilter” property to all filter tweens – when addFilter:true is passed in with any filter tween, it forces a new filter to be used instead of trying to use one that’s already there. This is completely optional. Normal behavior is for TweenLite/Max to look for any existing filters of the same kind and tween those.
  8. Add “transformAroundCenter” plugin – scale, rotate, or move a DisplayObject/MovieClip using its center as the origin, regardless of where the actual registration point is. Imagine dynamically loading an image and then scaling it or rotating it as though its registration point is centered. This plugin is a membership benefit of Club GreenSock.
  9. Add “transformAroundPoint” plugin – scale, rotate, or move a DisplayObject/MovieClip using any point as the origin, regardless of where the object’s registration point is. This plugin is a membership benefit of Club GreenSock.
  10. Add “colorTransform” plugin – Accommodates advanced color tweening of a DisplayObject’s ColorTransform like redMultiplier, redOffset, greenMultiplier, etc. It also adds convenient ways to tween the exposure, brightness, and tint amount (so you can tell it to only tint to 50% for example). This plugin essentially replaces ColorTransformProxy – it is more efficient and less code. It is a membership benefit of Club GreenSock.
  11. Change “shortRotation” syntax – Previously, shortRotation could only affect the “rotation” property of an object, but that doesn’t accommodate 3D rotations well (rotationX, rotationY, and rotationZ). So now you can pass an object with any number of properties that should be affected, like: TweenMax.to(mc, 2, {shortRotation:{rotationX:-170, rotationY:100}}).
  12. Speed enhancements (20-50% in some situations!)
  13. Fix some minor overwriting bugs
  14. Eliminate allTo(), allFrom(), sequence(), and multiSequence() from TweenMaxTweenGroup offers the same functionality, plus a whole lot more flexibility and power.

More...