Tutorials Point


  HTML-5 Tutorial
  HTML5 Tag Reference
  HTML5 Useful References
  HTML5 Tools
  HTML5 Resources
  Selected Reading

Copyright © 2014 by tutorialspoint



  Home     References     Discussion Forums     About TP  

HTML5 Canvas - Animations


previous next AddThis Social Bookmark Button


Advertisements

HTML5 canvas provides necessary methods to draw an image and erase it completely. We can take Javascript help to simulate good animation over a HTML5 canvas.

Following are the two important Javascript methods which would be used to animate an image on a canvas:

SNMethod and Description
1setInterval(callback, time);
This method repeatedly executes the supplied code after a given time milliseconds.
2setTimeout(callback, time);
This method executes the supplied code only once after a given time milliseconds.

Example:

Following is a simple example which would rotate a small image repeatedly:

<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">

var pattern= new Image();  

function animate(){   
   pattern.src = '/images/pattern.jpg'; 
   setInterval(drawShape, 100);
} 

function drawShape(){
  // get the canvas element using the DOM
  var canvas = document.getElementById('mycanvas');
 
  // Make sure we don't execute when canvas isn't supported
  if (canvas.getContext){
 
    // use getContext to use the canvas for drawing
    var ctx = canvas.getContext('2d');

    ctx.fillStyle = 'rgba(0,0,0,0.4)';   
    ctx.strokeStyle = 'rgba(0,153,255,0.4)';   
    ctx.save();   
    ctx.translate(150,150); 

    var time = new Date(); 
    ctx.rotate( ((2*Math.PI)/6)*time.getSeconds() + 
              ( (2*Math.PI)/6000)*time.getMilliseconds() );   
    ctx.translate(0,28.5);   
    ctx.drawImage(pattern,-3.5,-3.5);   
    ctx.restore(); 
  
  } else {
    alert('You need Safari or Firefox 1.5+ to see this demo.');
  }
}
</script>
</head>
<body onload="animate();">
   <canvas id="mycanvas" width="400" height="400"></canvas>
</body>
</html>

Assuming we have following pattern images/pattern.jpg.

Pattern

The above example would produce following result:

Canvas Animation

To learn above concept - Do Online Practice using latest version of either Safari or Opera.



previous next Printer Friendly

Advertisements


  

Advertisements