これまでのところ、船を建造して敵のステーションを破壊しようとする小さなゲームがあります。複数の船がステーションで発砲している場合を除いて、すべて正常に機能します。何が起こっているように見えるか (または少なくとも私が信じていること) は、弾丸の位置を設定するためのコードが船の数だけ発生していることです。そこで単純に弾速を船の数で割ってみたのですが、結局弾丸が動かなくなってしまいました。修正を試みていないため、コードは次のとおりです。
for (int j = 0; j < 9999; j++) {
if (PlayerMapData.weaponFireCreated [j]) {
PlayerMapData.weaponFire [j].setLocation (
(int) (PlayerMapData.weaponFire [j].x + playerMapData.weaponTravelSpeed * PlayerMapData.weaponFireDirectionX [j]),
(int) (PlayerMapData.weaponFire [j].y + PlayerMapData.weaponTravelSpeed * PlayerMapData.weaponFireDirectionY [j])
);
ヒット検出は以下で行われます。setLocation ステートメントが問題ですか、それともどの弾丸がどの船に属しているかを区別する必要がありますか?
編集:これがタイマーであることを指定する必要がありました。