0

アプリケーションを開発しようとしていますが、スプライトが最後に到達したら消去したいと考えています。キャンバス上のスプライトを処理するために arraylist を使用しています。x < 0 (キャンバスの外側) になったら、スプライトがキャンバスと配列リストから自分自身を消去するようにします。できるだけ早く助けてください。ありがとう

これは、これまでの消去コマンドのコードです。

for(Sprite sprite : rockSprites){

            sprite.x -=10;
            if (Rect.intersects(sprite.dst, die))
            {
                rockSprites.remove(this);

                currentAmountOfSprites--;
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }


            }

それはますます多くのスプライトを作成し、私が入れた最大整数を渡します(5)。

4

1 に答える 1

1

rockSprites.remove(sprite)使用するのではなく、回線を使用するべきではありませんrockSprites.remove(this)か?

rockSpritesリストされていないので、レンダリングフェーズで実際にArrayList(?)を使用して、キャンバスに配置する必要のあるロックスプライトを決定すると仮定します。

于 2011-11-03T04:25:10.493 に答える