HTML5标签canvas制作动画

简介: 摘要:   canvas可以绘制图像,自然而然的就可以制作动画,因为动画的每一帧都是图像。我们可以利用javascript的setInterval函数来实现动画效果。 下面是一个例子,小圆绕着红点圆心不停的转圆圈。
+关注继续查看

摘要:

  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>

 

相关文章
|
20天前
|
移动开发 前端开发 Shell
《HTML5 Canvas核心技术 图形、动画与游戏开发》 读书笔记
《HTML5 Canvas核心技术 图形、动画与游戏开发》 读书笔记
|
3月前
|
前端开发 数据可视化
漏刻有时数据可视化大屏常用排版HTML和CSS动画(1):旋转动画
漏刻有时数据可视化大屏常用排版HTML和CSS动画(1):旋转动画
42 0
|
6月前
|
XML JavaScript 前端开发
AndroidQ(10.0) 手机锁屏炫酷充电动画————html方案
AndroidQ(10.0) 手机锁屏炫酷充电动画————html方案
41 1
|
8月前
|
JavaScript 前端开发 容器
DOM(二)——动画,改变HTML,事件,节点,集合
JavaScript 动画是通过对元素样式进行渐进式变化编程完成的。 这种变化通过一个计数器来调用,当计数器间隔很小时,动画看上去就是连贯的
66 0
DOM(二)——动画,改变HTML,事件,节点,集合
|
移动开发 前端开发 JavaScript
HTML5标签canvas制作动画
HTML5标签canvas制作动画
HTML5标签canvas制作动画
|
数据采集 缓存 搜索推荐
HTML中的<meta/>标签还能这么玩???【居然能搞动画】
HTML中的<meta/>标签还能这么玩???【居然能搞动画】
|
JavaScript HTML5 移动开发
带你读《Three. js开发指南: 基于WebGL和HTML5在网页上渲染 3D图形和动画(原书第3版)》之三:学习使用Three.js中的光源
本书将介绍如何直在浏览器中创建漂亮的3D场景和动画,并且充分发挥WebGL和现代浏览器的潜能。首先介绍基本概念和基础组件,然后通过逐渐扩展示例代码逐步深讲解更多高级技术。在本书中读者将学到如何从外部加载3D模型和具有真实效果的材质纹理、学习使用Three.js提供的摄像机组件来实现在3D场景中飞行和走动、如何将HTML5视频和画布作为材质贴在3D模型表面。此外还将学习变形动画和骨骼动画,甚至还会涉及在场景中使用物理模拟的方法,例如重力、碰撞检测等等。
|
JavaScript HTML5 移动开发
带你读《Three. js开发指南: 基于WebGL和HTML5在网页上渲染 3D图形和动画(原书第3版)》之二:构建Three.js应用的基本组件
本书将介绍如何直在浏览器中创建漂亮的3D场景和动画,并且充分发挥WebGL和现代浏览器的潜能。首先介绍基本概念和基础组件,然后通过逐渐扩展示例代码逐步深讲解更多高级技术。在本书中读者将学到如何从外部加载3D模型和具有真实效果的材质纹理、学习使用Three.js提供的摄像机组件来实现在3D场景中飞行和走动、如何将HTML5视频和画布作为材质贴在3D模型表面。此外还将学习变形动画和骨骼动画,甚至还会涉及在场景中使用物理模拟的方法,例如重力、碰撞检测等等。
|
JavaScript 前端开发 Web App开发
带你读《Three. js开发指南: 基于WebGL和HTML5在网页上渲染 3D图形和动画(原书第3版)》之一:使用Three.js创建你的第一个三维场景
本书将介绍如何直在浏览器中创建漂亮的3D场景和动画,并且充分发挥WebGL和现代浏览器的潜能。首先介绍基本概念和基础组件,然后通过逐渐扩展示例代码逐步深讲解更多高级技术。在本书中读者将学到如何从外部加载3D模型和具有真实效果的材质纹理、学习使用Three.js提供的摄像机组件来实现在3D场景中飞行和走动、如何将HTML5视频和画布作为材质贴在3D模型表面。此外还将学习变形动画和骨骼动画,甚至还会涉及在场景中使用物理模拟的方法,例如重力、碰撞检测等等。
|
HTML5 移动开发 Web App开发
使用 HTML5 视频代替 GIF 动画,提升性能体验
GIF 动画能在网上流行起来是有道理的。 它们能带来比普通图片更高的参与度,同时与典型视频相比更容易消化。
2462 0
相关产品
云迁移中心
推荐文章
更多