npm install pasition
or get js by the cdn address:
https://unpkg.com/[email protected]/dist/pasition.js
pasition.animate({
from : fromPath,
to : toPath,
time : time,
easing : function(){ },
begin : function(shapes){ },
progress : function(shapes, percent){ },
end : function(shapes){ }
})
you can get the path from attr d of svg path element.
Supported All the svg path commands:
M/m = moveto
L/l = lineto
H/h = horizontal lineto
V/v = vertical lineto
C/c = curveto
S/s = smooth curveto
A/a = elliptical Arc
Z/z = closepath
Q/q = quadratic Belzier curve
T/t = smooth quadratic Belzier curveto
Example:
pasition.animate({
from: 'M 40 40 Q 60 80 80 40T 120 40 T 160 40 z',
to: 'M32,0C14.4,0,0,14.4,0,32s14.3,32,32,32 s32-14.3,32-32S49.7,0,32,0z',
time: 1000,
easing : function(){ },
begin:function(shapes){ },
progress : function(shapes, percent){
//render you shape to svg or canvas or webgl
},
end : function(shapes){ }
});
you can get the progressing shapes by pasition.lerp
:
var shapes = pasition.lerp(pathA, pathB, 0.5)
//render shapes in canvas ,svg or anywhere you want
...
This content is released under the MIT License.