1

html5キャンバスを使用して新しい小惑星ゲームを作成しています。ステージにレーザーを動的に描画しなければならないところまで順調に進んでいます。それらは正しく描画されず(長さは10ピクセルのみである必要があります)、10秒以上離れて2回撮影すると、古いレーザートレイルが表示されます。これがURLです。これは、私が気にかけているよりも多くのコードがあるためです。

http://marccannon.com/canvasteroids/

理想的には、レーザーの長さは10ピクセルで、寿命が尽きると(1秒または33フレーム)消えます。それらshift()は、描画ループで実行されていないはずの配列から抜け出します。Laserオブジェクトクラスにはある種のメモリがあるようです。これまで、ヒットする実際の小惑星を追加する代わりに、レーザートレイルを使用して宇宙アートを作成するのに何時間も費やしてきました。誰か助けてください。私は正気を失っています。

よろしくお願いします。

4

1 に答える 1

5

問題は、キャンバスに描画するときは、常に呼び出すことを忘れないようにする必要があることですbeginPath()。そうしないと、すべてmoveTolineToコマンドが現在のパスに追加され続けます。

于 2011-02-13T08:16:20.227 に答える