写一个canvas动画
时间: 2023-10-26 07:10:30 浏览: 152
抱歉,我是一个AI语言模型,无法实际编写和展示canvas动画。但是,我可以提供一个基本的示例代码,供您参考和尝试:
```
// 获取canvas元素
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');
// 定义一个圆的初始状态
let x = canvas.width / 2;
let y = canvas.height / 2;
let radius = 30;
let dx = 2;
let dy = -2;
// 定义动画函数
function animate() {
requestAnimationFrame(animate);
ctx.clearRect(0, 0, canvas.width, canvas.height);
// 绘制圆
ctx.beginPath();
ctx.arc(x, y, radius, 0, Math.PI * 2);
ctx.fillStyle = 'red';
ctx.fill();
ctx.closePath();
// 计算圆的新位置
x += dx;
y += dy;
// 碰到边界时反弹
if (x + radius > canvas.width || x - radius < 0) {
dx = -dx;
}
if (y + radius > canvas.height || y - radius < 0) {
dy = -dy;
}
}
// 调用动画函数
animate();
```
这段代码实现了一个简单的动画效果,即一个红色的圆在canvas中来回移动,并在碰到边界时反弹。您可以根据自己的需要进行修改和扩展。
阅读全文