1

我正在使用 html5 画布创建一个新的小行星游戏。它一直进展顺利,以至于我必须动态地将激光绘制到舞台上。它们不能正确绘制(它们应该只有 10 像素长),并且当您在 10 秒内拍摄两次时,就会出现旧的激光轨迹。这是网址,因为代码比我愿意让每个人都通过的要多。

http://marccannon.com/canvasteroids/

理想情况下,激光的长度为 10 像素,一旦用完(1 秒或 33 帧)就会消失。它们shift()脱离了不应再在绘图循环中运行它们的数组。似乎 Laser 对象类有某种内存。到目前为止,我已经花了好几个小时用激光轨迹制作太空艺术,而不是添加实际的小行星来撞击。有人请帮忙。我正在失去理智。

在此先感谢您的帮助。

4

1 回答 1

5

问题是当你在画布上绘图时,你必须始终记得调用beginPath(),否则所有moveTolineTo命令将不断添加和添加到当前路径。

于 2011-02-13T08:16:20.227 回答