Jump to content
GreenSock

Physics2DPlugin

Provides simple physics functionality for tweening an Object's x and y coordinates (or "left" and "top") based on a combination of velocity, angle, gravity, acceleration, accelerationAngle, and/or friction. It is not intended to replace a full-blown physics engine and does not offer collision detection, but serves as a way to easily create interesting physics-based effects with the GreenSock animation platform. Parameters are not intended to be dynamically updateable, but one unique convenience is that everything is reverseable. So if you spawn a bunch of particle tweens, for example, and throw them into a TimelineLite, you could simply call reverse() on the timeline to watch the particles retrace their steps right back to the beginning. Keep in mind that any easing equation you define for your tween will be completely ignored for these properties.

  • velocity : Number - the initial velocity of the object measured in pixels per time unit (usually seconds, but for tweens where useFrames is true, it would be measured in frames). (Default:0)
  • angle : Number - the initial angle (in degrees) at which the object should travel. This only matters when a velocity is defined. For example, if the object should start out traveling at -60 degrees (towards the upper right), the angle would be -60. (Default: 0)
  • gravity : Number - the amount of downward acceleration applied to the object, typically measured in pixels per second (or for tweens where useFrames is true, it would be measured per frame). You can either use gravity or acceleration, not both because gravity is the same thing as acceleration applied at an accelerationAngle of 90. Think of gravity as a convenience property that automatically sets the accelerationAngle for you. (Default: null)
  • acceleration : Number - the amount of acceleration applied to the object, typically measured in pixels per second (or for tweens where useFrames is true, it would be measured per frame). To apply the acceleration in a specific direction that is different than the angle, use the accelerationAngle property. You can either use gravity or acceleration, not both because gravity is the same thing as acceleration applied at an accelerationAngle of 90. (Default: null)
  • accelerationAngle : Number - the angle at which acceleration is applied (if any), measured in degrees. So if, for example, you want the object to accelerate towards the left side of the screen, you'd use an accelerationAngle of 180. If you define a gravity value, it will automatically set the accelerationAngle to 90 (downward). (Default: null)
  • friction : Number - a value between 0 and 1 where 0 is no friction, 0.08 is a small amount of friction, and 1 will completely prevent any movement. This is not meant to be precise or scientific in any way, but it serves as an easy way to apply a friction-like physics effect to your tween. Generally it is best to experiment with this number a bit - start with very small values like 0.02. Also note that friction requires more processing than physics tweens without any friction. (Default: 0)
  • xProp : String - By default, the "x" property of the target object is used to control x-axis movement, but if you'd prefer to use a different property name, use xProp likexProp:"left". (Default: "x")
  • yProp : String - By default, the "y" property of the target object is used to control y-axis movement, but if you'd prefer to use a different property name, use yProp like yProp:"top". (Default: "y")

USAGE:

TweenLite.to(element, 2, {physics2D:{velocity:300, angle:-60, gravity:400}});
 
//--OR--
 
TweenLite.to(element, 2, {physics2D:{velocity:300, angle:-60, friction:0.1}}); 
 
//--OR--
 
TweenLite.to(element, 2, {physics2D:{velocity:300, angle:-60, acceleration:50, accelerationAngle:180}}); 

Physics2DPlugin is a Club GreenSock membership benefit. You must have a valid membership to use this class without violating the terms of use. Visit http://www.greensock.com/club/ to sign up or get more details.

Physics2DPlugin and other bonus plugins are not hosted on a CDN. Checkout our CDN FAQs for more info.

Copyright 2017, GreenSock. All rights reserved. This work is subject to theterms of useor for Club GreenSock members, the software agreement that was issued with the membership.
×