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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY