component-tween
Version:
Motion tween engine using 'ease'
46 lines (35 loc) • 938 B
HTML
<style>
canvas {
border: 1px solid #eee;
}
</style>
<script src="../build/build.js"></script>
<canvas width=500 height=400></canvas>
<button onclick='tween.stop()'>Stop</button>
<script>
var Tween = require('tween');
var raf = require('component-raf');
var canvas = document.querySelector('canvas');
var ctx = canvas.getContext('2d');
var tween = Tween({ alpha: 0, border: 1, radius: 1 })
.ease('out-bounce')
.to({ alpha: 1, border: 15, radius: 150 })
.duration(1000);
tween.update(function(o){
canvas.width = canvas.width;
ctx.strokeStyle = 'black';
ctx.globalAlpha = o.alpha;
ctx.lineWidth = o.border;
ctx.arc(canvas.width / 2, canvas.height / 2, o.radius, 0, Math.PI * 2, false);
ctx.stroke();
ctx.fill();
});
tween.on('end', function(){
animate = function(){};
});
function animate() {
raf(animate);
tween.update();
}
animate();
</script>