- HTML5 教程
- HTML5 - 首页
- HTML5 - 概述
- HTML5 - 语法
- HTML5 - 属性
- HTML5 - 事件
- HTML5 - Web 表单 2.0
- HTML5 - SVG
- HTML5 - MathML
- HTML5 - Web 存储
- HTML5 - Web SQL 数据库
- HTML5 - 服务器发送事件
- HTML5 - WebSocket
- HTML5 - Canvas
- HTML5 - 音频与视频
- HTML5 - 地理位置
- HTML5 - 微数据
- HTML5 - 拖放
- HTML5 - Web Workers
- HTML5 - IndexedDB
- HTML5 - Web 消息传递
- HTML5 - Web CORS
- HTML5 - Web RTC
- HTML5 演示
- HTML5 - Web 存储
- HTML5 - 服务器发送事件
- HTML5 - Canvas
- HTML5 - 音频播放器
- HTML5 - 视频播放器
- HTML5 - 地理位置
- HTML5 - 拖放
- HTML5 - Web Worker
- HTML5 - 网页幻灯片
- HTML5 工具
- HTML5 - SVG 生成器
- HTML5 - MathML
- HTML5 - Velocity 绘图
- HTML5 - 二维码
- HTML5 - Validator.nu 验证
- HTML5 - Modernizr
- HTML5 - 验证
- HTML5 - 在线编辑器
- HTML5 - 颜色代码生成器
- HTML5 标签参考
- HTML5 - 问答
- HTML5 - 标签参考
- HTML5 - 已弃用标签
- HTML5 - 新标签
- HTML5 资源
- HTML5 - 有用资源
- HTML5 - 讨论
HTML5 Canvas - 动画
HTML5 canvas 提供了绘制图像并将其完全擦除的必要方法。我们可以借助 Javascript 在 HTML5 canvas 上模拟良好的动画。
以下是将在画布上动画图像时使用的两种重要的 Javascript 方法:
| 序号 | 方法和描述 |
|---|---|
| 1 | setInterval(callback, time); 此方法在给定的time毫秒后重复执行提供的代码。 |
| 2 | setTimeout(callback, time); 此方法仅在给定的time毫秒后执行一次提供的代码。 |
示例
以下是一个简单的示例,它将重复旋转一个小图像:
<!DOCTYPE HTML>
<html>
<head>
<script type = "text/javascript">
var pattern = new Image();
function animate() {
pattern.src = '/html5/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>
以上示例将产生以下结果:
html5_canvas.htm
广告