//calculating flipping process pages.flip._visible = true; pages.flip.p3shadow._visible = pages.pgrad._visible = !tear; pages.flip.p2._visible = pages.flip.p3._visible = true; //equation of the line var vx = x-sx; var vy = y-sy; var a1 = vy/vx; var a2 = -vy/vx; cx = sx+(vx/2); cy = sy+(vy/2); //trigonometriai szamitasok //calculating rotation of the page, and the masks var r = Math.sqrt((sx-x)*(sx-x)+(sy-y)*(sy-y)); var a = Math.asin((sy-y)/r); if(sx<0) a = -a; ad = a/AM; //in degree pageN._rotation = ad*2; r = Math.sqrt((sx-x)*(sx-x)+(sy-y)*(sy-y)); rl = (pw*2); if(sx>0) { //flip forward pages.mask._xscale = 100; nx = cx-Math.tan(a)*(ph/2-cy); ny = ph/2; if(nx>pw) { nx = pw; ny = cy+Math.tan(Math.PI/2+a)*(pw-cx); } pageN.pf._x = -(pw-nx); pages.flip.fgrad._xscale = (r/rl/2)*pw; pages.pgrad._xscale = -(r/rl/2)*pw; pages.flip.p3shadow._xscale = (r/rl/2)*pw; } else { //flip backward pages.mask._xscale = -100; nx = cx-Math.tan(a)*(ph/2-cy); ny = ph/2; if(nx<-pw) { nx = -pw; ny = cy+Math.tan(Math.PI/2+a)*(-pw-cx); } pageN.pf._x = -(pw-(pw+nx)); pages.flip.fgrad._xscale = -(r/rl/2)*pw; pages.pgrad._xscale = (r/rl/2)*pw; pages.flip.p3shadow._xscale = -(r/rl/2)*pw; } pages.mask._x = cx; pages.mask._y = cy; pages.mask._rotation = ad; pageN.pf._y = -ny; pageN._x = nx+offs; pageN._y = ny; pages.flip.fgrad._x = cx; pages.flip.fgrad._y = cy; pages.flip.fgrad._rotation = ad; pages.flip.fgrad._alpha = (r>(rl-50))? 100-(r-(rl-50))*2: 100; pages.flip.p3shadow._x = cx; pages.flip.p3shadow._y = cy; pages.flip.p3shadow._rotation = ad; pages.flip.p3shadow._alpha = (r>(rl-50))? 100-(r-(rl-50))*2: 100; pages.pgrad._x = cx; pages.pgrad._y = cy;