HTML5:七天学会基础动画网页2
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>动画示例2</title>
<style>
body {
text-align: center;
}
canvas {
background-color: #f0f0f0;
margin: 0 auto;
display: block;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="400" height="400"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
// 画一个圆
function drawCircle(x, y, radius, color) {
ctx.beginPath();
ctx.arc(x, y, radius, 0, 2 * Math.PI, false);
ctx.fillStyle = color;
ctx.fill();
}
// 动画函数
function animate() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
drawCircle(50 + 30 * Math.sin(Date.now() / 700), 50 + 30 * Math.cos(Date.now() / 1000), 10, '#ff0000');
window.requestAnimationFrame(animate);
}
// 开始动画
animate();
</script>
</body>
</html>
这段代码使用HTML5 <canvas>
元素创建了一个简单的动画示例。它定义了一个函数 drawCircle
来绘制一个圆,并且使用 requestAnimationFrame
来循环调用 animate
函数进行动画更新。animate
函数会在每次屏幕刷新时被调用,并使用 clearRect
清除上一帧的内容,然后绘制一个以动态变化的位置和颜色的圆,从而实现动画效果。
评论已关闭