HTML Canvas Animation draw wave

Description

HTML Canvas Animation draw wave

View in separate window

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Wave 2</title>
  </head>  
  <body>
    <canvas id="canvas" width="400" height="400"></canvas>
    <script>
    window.onload = function () {
      var canvas = document.getElementById('canvas'),
          context = canvas.getContext('2d'),
          angle = 0,/*ww  w.  j ava2 s  . c  o  m*/
          range = 50,
          centerY = canvas.height / 2,
          xspeed = 1,
          yspeed = 0.05,
          xpos = 0,
          ypos = centerY;

      context.lineWidth = 2;

      (function drawFrame () {
        window.requestAnimationFrame(drawFrame, canvas);
        
        context.beginPath();
        context.moveTo(xpos, ypos);
        //Calculate the new position.
        xpos += xspeed;
        angle += yspeed;
        ypos = centerY + Math.sin(angle) * range;
        context.lineTo(xpos, ypos);
        context.stroke();
      }());
    };
    </script>
  </body>
</html>



PreviousNext

Related