简体   繁体   English

clearRect不清除画布中的任何内容

[英]clearRect not clearing anything in canvas

My code below is for Chris Courses "Circular Motion" tutorial, but I can't figure out why my clearRect isn't working. 我下面的代码用于Chris Courses的“圆周运动”教程,但是我不知道为什么我的clearRect无法正常工作。 It's got to be something I'm just not seeing, I have two other canvas animations working now, but this one wont clear the rect and it's driving me nuts.... 一定是我没有看到的东西,现在我还有另外两个画布动画正在工作,但是这个动画无法清除矩形,这让我发疯。

Thanks for anyone who has the time to help! 感谢任何有时间帮助的人!

 function spirals() { const canvas2 = document.getElementById('mycanvas'); canvas2.width = document.getElementById('mycanvas').scrollWidth; canvas2.height = document.getElementById('mycanvas').scrollHeight; const c2 = canvas2.getContext('2d'); const spiralColorArray = [ '#ff0000', '#00ff00', '#0000ff' ]; addEventListener('resize', () => { canvas2.width = document.getElementById('mycanvas').scrollWidth; canvas2.height = document.getElementById('mycanvas').scrollHeight; init(); }); function SpinnerIcon(h, v, radius, color) { this.h = h; this.v = v; this.color = color; this.radius = radius; this.update = () => { this.h += 1; this.draw(); }; this.draw = () => { c2.beginPath; c2.arc(this.h, this.v, this.radius, 0, Math.PI*2, false); c2.fillStyle = this.color; c2.fill(); c2.closePath(); } } function init() { spinnerArray = []; for(let i=0; i < 1; i++) { spinnerArray.push(new SpinnerIcon(canvas2.width/2, canvas2.height/2, 5, 'red')) } } let spinnerArray; function animate() { requestAnimationFrame(animate); c2.clearRect(0, 0, canvas2.width, canvas2.height); spinnerArray.forEach(parti => { parti.update(); }) } init(); animate(); } spirals(); 
 #mycanvas { background: blue; } 
 <canvas id="mycanvas" width="500" height="500"> 

Your line with c2.beginPath is missing () and should be c2.beginPath(); 您使用c2.beginPath ()的行丢失了(),应为c2.beginPath(); since it's a function. 因为它是一个功能 clearPath won't work when beginPath isn't called. 当未调用beginPath时,clearPath将不起作用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM