Javascript 删除旧的fillRect,clearRect不工作?

Javascript 删除旧的fillRect,clearRect不工作?,javascript,canvas,Javascript,Canvas,我试图让这个代码正常工作,我试图制作一个游戏,你点击消失的矩形,并取得了一些好的进展,但我的问题是,当矩形消失时,“点击框”仍然存在,可以这么说 我对画布还是新手,但我认为它与上下文上的clearRect方法有关,但我不确定。这是我的密码: const CANVAS_HEIGHT=800; const CANVAS_WIDTH=1200; var elem=document.getElementById('myCanvas'), elemLeft=elem.offsetLeft, elemTo

我试图让这个代码正常工作,我试图制作一个游戏,你点击消失的矩形,并取得了一些好的进展,但我的问题是,当矩形消失时,“点击框”仍然存在,可以这么说

我对画布还是新手,但我认为它与上下文上的clearRect方法有关,但我不确定。这是我的密码:


const CANVAS_HEIGHT=800;
const CANVAS_WIDTH=1200;
var elem=document.getElementById('myCanvas'),
elemLeft=elem.offsetLeft,
elemTop=elem.offsetTop,
context=elem.getContext('2d'),
元素=[];
//游戏玩家
var得分=0;
var区间=1000;
var-wid=150;
var-hei=100;
//为“单击”事件添加事件侦听器。
元素addEventListener('click',函数(事件){
var x=event.pageX-elemLeft,
y=event.pageY-elemTop;
log(`Clicked at(${x},${y})`);
//单击的偏移量和元素之间的冲突检测。
elements.forEach(函数(元素){
如果(y>element.top&&yelement.left&&x0,则减小i并再次调用myLoop
},间隔时间)
})(100);       

您永远不会删除任何元素

尝试添加
console.log(elements.length)内置
myLoop
并观察计数器不断上升:)

一个快速修复方法是将
元素重新分配到
加法器顶部的空数组中

elements = [];

Gotchaaa,我相信你会注意到我复制并粘贴了这段代码的大部分,我甚至没有注意到他们把它们都推到了一个列表中。谢谢是的,我的帐户是全新的,所以很抱歉,我无法更新您的答案:(
elements = [];