Javascript 删除旧的fillRect,clearRect不工作?
我试图让这个代码正常工作,我试图制作一个游戏,你点击消失的矩形,并取得了一些好的进展,但我的问题是,当矩形消失时,“点击框”仍然存在,可以这么说 我对画布还是新手,但我认为它与上下文上的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
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 = [];