ArrayList Android учебник? - PullRequest
       58

ArrayList Android учебник?

1 голос
/ 03 ноября 2011

Итак, я создал класс с именем Sprite. Я хочу иметь возможность легко контролировать многие из класса Sprite и не знаю как. Я слышал о arraylist, но я не знаю, как его использовать. Я много раз гуглял и несколько дней не мог найти хороший легкий урок. В основном я хочу иметь возможность создавать около 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 Ответ

3 голосов
/ 03 ноября 2011

Ты имеешь в виду что-то подобное?

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-учебнике. Если бы это было для игры, вам, вероятно, было бы лучше найти что-то более сложное, например, метод на объекте спрайта, который проверяет пересечение для этого конкретного Спрайта каждый раз, когда спрайт перемещается.

...