关注用户体验,分享前端技术

HTML5标签canvas制作动画

摘要:

  canvas可以绘制图像,自然而然的就可以制作动画,因为动画的每一帧都是图像。我们可以利用javascript的setInterval函数来实现动画效果。

下面是一个例子,小圆绕着红点圆心不停的转圆圈。

代码:

 1 <canvas id="myCanvas" width="300" height="300">
 2         您的浏览器不支持canvas!
 3     </canvas>
 4     <script>
 5         var canvas = document.getElementById('myCanvas');
 6             if (canvas.getContext) {
 7                  var context = canvas.getContext('2d');
 8                 var posX = 100,
 9                     posY = 150,
10                     flag = true;
11                 
12                 setInterval(function() {
13                     
14                     context.fillStyle = "#ccc";
15                     context.fillRect(0,0,canvas.width, canvas.height);
16                     context.beginPath();
17                     context.fillStyle = "white";
18 
19                     context.arc(posX, posY, 20, 0, Math.PI*2, true); 
20                     context.closePath();
21                     context.fill();
22 
23                     console.log(posX + "," + posY);
24                     if(flag && posX < 201) {
25                         posX += 1;
26                     } else {
27                         posX -= 1;
28                         flag = false;
29                         if(posX < 100) {
30                             flag = true;
31                         }
32                     }
33                     if(flag) {
34                         posY = 150-Math.sqrt(2500-Math.pow(posX-150, 2));
35                     } else {
36                         posY = 150+Math.sqrt(2500-Math.pow(posX-150, 2));
37                     }
38 
39                     context.beginPath();
40                     context.arc(150, 150, 2, 0, Math.PI*2, true)
41                     context.fillStyle = "red";
42                     context.fill();
43 
44                 }, 50);
45             }
46     </script>

 

posted @ 2014-11-24 17:10  夕阳白雪  阅读(1320)  评论(0编辑  收藏  举报