我这是除了什么问题
来源:8-1 Canvas动画
光aaaaand影
2019-08-19 08:25:10
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>canvas</title> <style> canvas{ background: red; } </style> </head> <body> <canvas id="myCanvas" width="400" height="400"> 您的浏览器不支持canvas! </canvas> <script type="text/javascript"> var myCanvas=document.getElementById("myCanvas"); // getContext() 方法返回一个用于在画布上绘图的环境 var ctx=myCanvas.getContext("2d"); var r=50,dir=1; setInterval(function(){ r+=10*dir; ctx.clearRect(0,0,ctx.width,ctx.height); ctx.fillStyle="yellow"; ctx.arc(200,200,r,0,2*Math.PI); ctx.fill(); if(r>=200){ dir=-1; }else if(r<0){ dir=1; } },100) </script> </body> </html>
老师,我想让这个圆一直放大,碰到画布边时又逐渐缩回去,为什么它在碰到边时只是停住了呢
1回答
同学你好, canvas中画圆的半径不可以是负数哦 你这里碰到边之后, 就会出现如下报错信息
可以结合clearRect方法先清除上一次画的圆, 实现由大到小在变大的效果, clearRect方法的用法,参考下图
建议修改:
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~