2

我一直在做一个有趣的小项目来定制 dale harvey 的 html5 canvas pacman 游戏http://arandomurl.com/2010/07/25/html5-pacman.html并同时自学一些 javascript . 但是玩游戏几秒钟后它会冻结......我相信这是因为递归过多(即需要关闭某些东西?)但我的印象是游戏循环需要保持打开状态以允许连续控制和人物的动作……对吗?

我在 javascript 游戏中有点菜鸟,所以任何帮助都会很棒。

http://bridgestreetcollective.harmonyapp.com/pacman/?password=test

干杯

4

2 回答 2

0

你似乎在递归调用移动,我的意思是你的调用移动内部移动。这就是您的调用堆栈变得太大的原因。

您应该有一个游戏循环,您可以从其中调用移动,而不是从内部调用移动。

于 2012-07-03T23:10:04.790 回答
0

你的clone功能搞砸了。您在某处的文档body元素上调用它,并且具有循环引用。您应该能够使用调试器看到这一点。请参阅如何在 Javascript 中克隆对象数组?在 Javascript 中,当执行深层复制时,由于属性是“this”,我如何避免循环?.

此外,你永远不应该使用 Object.prototype

于 2012-07-03T23:11:37.877 回答