arraylist android教程?

时间:2011-11-03 01:23:30

标签: android arraylist sprite rect

所以我创建了一个名为Sprite的类。我希望能够轻松地控制许多Sprite类,并且不知道如何操作。我听说过arraylist,但我不知道如何使用它。我google了很多次,现在几天我找不到一个好的简单教程。基本上我希望能够创建大约5个精灵,并能够检查其碰撞。我使用Rect来检查碰撞。 这就是我检查碰撞的方法:

if(Rect.intersects(sprite.dst, floor))

它可以工作,但我想控制多个精灵并检查它们的碰撞并在碰撞时删除它们。任何好的教程或想法?请帮忙。我希望我对我的问题很清楚..谢谢!

我找到了一种方法,但现在我有一个问题,为精灵做一个随机的y位置:

  public void rockUpdate(Canvas canvas){
    int y = rand.nextInt(canvas.getHeight()-doodle.getHeight()) + 1;
            int x =canvas.getWidth();

        rockSprites.add(new Sprite(GameSurface.this, doodle, 4, 1, x, y));
        try {
            Thread.sleep(500);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        el++;

    }

1 个答案:

答案 0 :(得分:3)

你的意思是这样的吗?

List<Sprite> spriteList = new ArrayList<Sprite>();

spriteList.add(new Sprite());

// (etc)

List<Sprite> spriteListForLoop = new ArrayList<Sprite>(spriteList);
for (Sprite sprite: spriteListForLoop)
{
    if (Rect.intersects(sprite.dst, floor))
    {
        spriteList.remove(sprite);
    }
}

这样的东西是非常基本的Java ...你应该能够在任何基本的java教程中找到它。如果这是一个游戏,你可能最好找到更复杂的东西 - 就像精灵对象上的一个方法,每次Sprite移动时都会检查特定Sprite的交集。