html5 canvas pacman游戏 - javascript太多递归

时间:2012-07-03 23:00:47

标签: javascript html5 canvas recursion

我一直致力于一个有趣的小方案项目来定制dale harvey的html5 canvas pacman游戏http://arandomurl.com/2010/07/25/html5-pacman.html并同时自学一些javascript。但是在玩了几秒钟之后它会冻结......我相信这是来自过多的递归(即需要关闭的东西?)但我认为游戏循环需要保持打开以允许连续控制和角色的运动......正确吗?

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

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

干杯

2 个答案:

答案 0 :(得分:0)

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

你应该有一个游戏循环,你可以调用移动,不要从内部调用移动。

答案 1 :(得分:0)

您的clone功能搞砸了。你可以在某个地方的文档body元素上调用它,并且它具有循环引用。您应该能够使用调试器看到这一点。请参阅How do you clone an Array of Objects in Javascript?In Javascript, when performing a deep copy, how do I avoid a cycle, due to a property being "this"?

此外,您应该never ever use Object.prototype