2

私は、デールハーベイのhtml5キャンバスpacmanゲームhttp://arandomurl.com/2010/07/25/html5-pacman.htmlをカスタマイズし、同時に少しのjavascriptを自分自身に教えるために、楽しい小さなサイドプロジェクトに取り組んできました。 。しかし、ゲームをプレイして数秒後にフリーズします...これは再帰が多すぎるためだと思います(つまり、何かを閉じる必要がありますか?)が、継続的な制御を可能にするにはゲームループを開いたままにする必要があるという印象を受けていますとキャラクターの動き...正しいですか?

私はjavascriptゲームの初心者なので、どんな助けでも素晴らしいでしょう。

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

乾杯

4

2 に答える 2

0

あなたはrecursivleycallingmoveのようです。つまり、あなたのcallingmoveはmove内にあります。これが、コールスタックが大きくなりすぎている理由です。

移動元を呼び出すゲームループが必要です。内部から移動を呼び出さないでください。

于 2012-07-03T23:10:04.790 に答える
0

あなたのclone機能はめちゃくちゃです。bodyどこかのドキュメントの要素でそれを呼び出します、そしてそれは循環参照を持っています。デバッガーを使用してこれを確認できるはずです。「 Javascriptでオブジェクトの配列を複製するにはどうすればよいですか?」を参照してください。Javascriptでは、ディープコピーを実行するときに、プロパティが「this」であるためにサイクルを回避するにはどうすればよいですか?

また、Object.prototypeを使用しないでください

于 2012-07-03T23:11:37.877 に答える