iwmlib/lib/3rdparty/greensock/src/minified/plugins/Physics2DPlugin.min.js

13 lines
3.6 KiB
JavaScript
Executable File

/*!
* VERSION: 0.2.1
* DATE: 2018-02-15
* UPDATES AND DOCS AT: http://greensock.com
*
* @license Copyright (c) 2008-2019, GreenSock. All rights reserved.
* Physics2DPlugin is a Club GreenSock membership benefit; You must have a valid membership to use
* this code without violating the terms of use. Visit http://greensock.com/club/ to sign up or get more details.
* This work is subject to the software agreement that was issued with your membership.
*
* @author: Jack Doyle, jack@greensock.com
*/
var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";var a=Math.PI/180,b=function(a,b,c,d,e){this.p=b,this.f="function"==typeof a[b],this.start=this.value=this.f?a[b.indexOf("set")||"function"!=typeof a["get"+b.substr(3)]?b:"get"+b.substr(3)]():parseFloat(a[b]),this.velocity=c||0,this.v=this.velocity/e,d||0===d?(this.acceleration=d,this.a=this.acceleration/(e*e)):this.acceleration=this.a=0},c=Math.random(),d=_gsScope._gsDefine.globals,e=d.com.greensock.core.Animation._rootFramesTimeline,f=_gsScope._gsDefine.plugin({propName:"physics2D",version:"0.2.1",API:2,init:function(c,d,f,g){"function"==typeof d&&(d=d(g,c)),this._target=c,this._tween=f,this._runBackwards=f.vars.runBackwards===!0,this._step=0;for(var h,i=f._timeline,j=Number(d.angle)||0,k=Number(d.velocity)||0,l=Number(d.acceleration)||0,m=d.xProp||"x",n=d.yProp||"y",o=d.accelerationAngle||0===d.accelerationAngle?Number(d.accelerationAngle):j;i._timeline;)i=i._timeline;return this._stepsPerTimeUnit=h=i===e?1:30,d.gravity&&(l=Number(d.gravity),o=90),j*=a,o*=a,this._friction=1-Number(d.friction||0),this._overwriteProps.push(m),this._overwriteProps.push(n),this._x=new b(c,m,Math.cos(j)*k,Math.cos(o)*l,h),this._y=new b(c,n,Math.sin(j)*k,Math.sin(o)*l,h),this._skipX=this._skipY=!1,!0},set:function(a){var b,c,d,e,f,g,h=this._tween._time,i=this._x,j=this._y;if(this._runBackwards===!0&&(h=this._tween._duration-h),1===this._friction)d=h*h*.5,b=i.start+(i.velocity*h+i.acceleration*d),c=j.start+(j.velocity*h+j.acceleration*d);else{if(h*=this._stepsPerTimeUnit,e=g=(0|h)-this._step,f=h%1,g>=0)for(;--g>-1;)i.v+=i.a,j.v+=j.a,i.v*=this._friction,j.v*=this._friction,i.value+=i.v,j.value+=j.v;else for(g=-g;--g>-1;)i.value-=i.v,j.value-=j.v,i.v/=this._friction,j.v/=this._friction,i.v-=i.a,j.v-=j.a;b=i.value+i.v*f,c=j.value+j.v*f,this._step+=e}this._skipX||(i.m&&(b=i.m(b,this._target)),i.f?this._target[i.p](b):this._target[i.p]=b),this._skipY||(j.m&&(c=j.m(c,this._target)),j.f?this._target[j.p](c):this._target[j.p]=c)}}),g=f.prototype;g._kill=function(a){return null!=a[this._x.p]&&(this._skipX=!0),null!=a[this._y.p]&&(this._skipY=!0),this._super._kill.call(this,a)},g._mod=function(a){var b=a[this._x.p]||a.physics2D;b&&"function"==typeof b&&(this._x.m=b),b=a[this._y.p]||a.physics2D,b&&"function"==typeof b&&(this._y.m=b)},f._autoCSS=!0,f._cssRegister=function(){var a=d.CSSPlugin;if(a){var b=a._internals,e=b._parseToProxy,g=b._setPluginRatio,h=b.CSSPropTween;b._registerComplexSpecialProp("physics2D",{parser:function(a,b,d,i,j,k){k=new f;var l,m=b.xProp||"x",n=b.yProp||"y",o={};return o[m]=o[n]=c++,l=e(a,o,i,j,k),j=new h(a,"physics2D",0,0,l.pt,2),j.data=l,j.plugin=k,j.setRatio=g,k._onInitTween(l.proxy,b,i._tween),j}})}}}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(a){"use strict";var b=function(){return(_gsScope.GreenSockGlobals||_gsScope)[a]};"undefined"!=typeof module&&module.exports?(require("../TweenLite.min.js"),module.exports=b()):"function"==typeof define&&define.amd&&define(["TweenLite"],b)}("Physics2DPlugin");