我一直致力于一个有趣的小方案项目来定制dale harvey的html5 canvas pacman游戏http://arandomurl.com/2010/07/25/html5-pacman.html并同时自学一些javascript。但是在玩了几秒钟之后它会冻结......我相信这是来自过多的递归(即需要关闭的东西?)但我认为游戏循环需要保持打开以允许连续控制和角色的运动......正确吗?
我在javascript游戏中有点像菜鸟,所以任何帮助都会很棒。
http://bridgestreetcollective.harmonyapp.com/pacman/?password=test
干杯
答案 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"?。