Introduction
In this article, we are going to see the use of the Canvas tag in HTML5 for the animation
of games. The canvas tag is only available in HTML5. We can draw anything using
JavaScript on the Canvas element. The canvas element is part of HTML5 and allows for dynamic, scriptable rendering of 2D shapes and bitmap images. It is a low level,
procedural model that updates a bitmap and does not have a built-in scene graph.
The HTML5 canvas element uses JavaScript to draw graphics on a web page. A
canvas is a rectangular area, and you control every pixel of it. The canvas element has several methods for drawing paths, boxes, circles, characters, and adding images. The Canvas element is supported by all the major browsers.
Here we will see the short demo of animation in HTML5 Canvas using JavaScript.
Step 1 Firstly we define a Canvas element in our HTML page.
- <canvas id="canvas" width="1000" height="800"></canvas>
Here, we use some JavaScript code for draw animation.
Step 2 Create a function to get the Canvas element
- function dofirst()
- {
- var x = document.getElementById("canvas");
- canvas = x.getContext("2d");
- }
Step 3 Associate the Event addEventListener on mousemove and set the
function name with it.
- window.addEventListener("mousemove", bucky, false);
Step 4 Define the function with canvas position and fill that in shape of a rectangle. which creates an animation effect.
- function bucky(e)
- {
- // canvas.clearRect(0, 0, 600, 400);
- var xpos = e.clientX;
- var ypos = e.clientY;
- canvas.fillRect(xpos-50, ypos-50, 100, 100);
- }
Step 5 Call the function on window load.
- window.addEventListener("load", dofirst, false);
Here is the Full Source Code
- <html
- xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title></title>
- <script type="text/javascript" language="javascript">
- function dofirst()
- {
- var x = document.getElementById("canvas");
- canvas = x.getContext("2d");
- window.addEventListener("mousemove", bucky, false);
- }
- function bucky(e) {
-
- var xpos = e.clientX;
- var ypos = e.clientY;
- canvas.fillRect(xpos-50, ypos-50, 100, 100);
- }
- window.addEventListener("load", dofirst, false);
- </script>
- </head>
- <body>
- <canvas id="canvas" width="1000" height="800"></canvas>
- </body>
- </html>
Output
Example 2: In this example, we use some CSS transformation and transition to animate. We define a div rotate the div on mouse hover event using CSS
transformations and transitions.
Here is code
- <html
- xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title></title>
- <style>
- #box
- {
- display:block;
- width:500px;
- margin:50px auto;
- text-align:center;
- border:7px solid blue;
- background:yellow;
- outline:7px solid red;
- -moz-transform: rotateZ(5deg);
- -moz-transition: -webkit-transform 2s ease-in-out;
- }
- #box:hover{
- -moz-transform:rotateZ(180deg);
- }
- </style>
- </head>
- <body>
- <form id="form1" runat="server">
- <div id="box"></div>
- </form>
- </body>
- </html>
After mouse-hover on the div