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();
                }
            }


            }

它创建了越来越多的精灵,并且我通过了我输入的最大 int (5)。

4

1 回答 1

1

您不应该使用 linerockSprites.remove(sprite)而不是 usingrockSprites.remove(this)吗?

由于它没有列出,我将假设您的渲染阶段实际上使用rockSpritesArrayList(?) 来确定应该在画布上放置哪些岩石精灵?

于 2011-11-03T04:25:10.493 回答