画布清除问题.选择不在Canvasteroids中清除的对象

1 javascript html5 canvas drawimage

我用html5画布创建了一个新的小行星游戏.它一直很好,我必须动态地将激光拉到舞台上.它们没有正确绘制(它们应该只有10像素长),当你在10秒内拍摄两次时,旧的激光轨迹出现了.这是网址,因为有更多的代码,而不是我关心的每个人.

http://marccannon.com/canvasteroids/

理想情况下,激光器的长度为10px,一旦失效(1秒或33帧)就会消失.它们shift()离开了一个不再在绘制循环中运行它们的数组.似乎激光对象类有某种内存.到目前为止,我花了几个小时用激光小径制作太空艺术而不是添加实际的小行星来打击.有人请帮忙.我失去了理智.

在此先感谢您的帮助.

650*_*502 5

问题是,当你在画布上绘图时,你必须始终记住要调用beginPath(),否则所有moveTolineTo命令将继续添加并添加到当前路径.