私はArrayListがあり、私のアンドロイドゲームでプレーン(敵)を保持しています。これらの面は、画面の一方の側から他方の面に移動し、ユーザーはそれらをかわす必要があります。プレーンのx値が-50より小さくなると、ArrayListから削除されます。これが起こると、画面上のすべてのプレーンが現在「少しジャンプ」します。それらは数ミリ秒間消えて再描画されますが、元の場所の2倍後ろに描画されます。ここでArrayListからオブジェクトを削除すると遅れが発生する
は飛行機がArrayListの
public void onDraw(){
bg1.onDraw(c);
bg2.onDraw(c);
chopper.onDraw(c);
score.onDraw(c);
// PAINTS THE PLANE OR DELETES IF OFF SCREEN
for (int i = 0; i < planes.size(); i++) {
Plane p = planes.get(i);
if(p.getX()<-50){
planes.remove(p);
}else{
p.onDraw(c);
if (p.getX() < 170) {
detectPlaneCollision(p, c);
}
}
}
}
がこれを固定する方法はありますされpaintメソッド、ありますか?私は別のデータ構造を使うべきですか?
おかげ
トム
なぜあなたは10秒間ボッターしてコードを正しくフォーマットしないでください –
私は試してみましたが、正しく入力されたときにフォーマットされましたが、なぜそれが行われたのか分かりません。 – TomRichardson