我正在用html5画布创建一个新的小行星游戏。它一直很好,我必须动态地将激光拉到舞台上。它们没有正确绘制(它们应该只有10像素长),当你在10秒内拍摄两次时,旧的激光轨迹出现了。这是网址,因为代码的数量超过我关心的每个人。
http://marccannon.com/canvasteroids/
理想情况下,激光器的长度为10px,一旦失效(1秒或33帧)就会消失。它们从一个不再在绘制循环中运行它们的数组中获得shift()
。似乎激光对象类有某种内存。到目前为止,我花了几个小时用激光小径制作太空艺术而不是添加实际的小行星来打击。有人请帮忙。我失去了理智。
提前感谢您的帮助。
答案 0 :(得分:5)
问题是,当您在画布上绘图时,必须始终记住调用beginPath()
,否则所有moveTo
和lineTo
命令将继续添加并添加到当前路径。