Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

3 лет назад
12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <style>
  2. canvas {
  3. border: 1px solid #eee;
  4. }
  5. </style>
  6. <script src="build/build.js"></script>
  7. <canvas width=500 height=400></canvas>
  8. <script>
  9. var ease = require('ease');
  10. var requestAnimationFrame = require('component-raf');
  11. var canvas = document.querySelector('canvas');
  12. var ctx = canvas.getContext('2d');
  13. var stop = false;
  14. function animate() {
  15. if (stop) return;
  16. requestAnimationFrame(animate);
  17. draw();
  18. }
  19. var startx = 20;
  20. var x = startx;
  21. var destx = 300;
  22. var y = 400 / 2;
  23. var duration = 1000;
  24. var start = Date.now();
  25. var end = start + duration;
  26. function draw() {
  27. var now = Date.now();
  28. if (now - start >= duration) stop = true;
  29. var p = (now - start) / duration;
  30. val = ease.inOutBounce(p);
  31. x = startx + (destx - startx) * val;
  32. canvas.width = canvas.width;
  33. ctx.fillStyle = 'red';
  34. ctx.arc(x, y, 10, 0, Math.PI * 2, false);
  35. ctx.fill();
  36. }
  37. animate();
  38. </script>