Мне интересно, есть ли код или применить метод от класса ко всем объектам в ArrayList
? Я делаю программу базовых космических захватчиков, и я пытаюсь применить метод перемещения, который будет применяться ко всем врагам, чтобы они перемещались в группе, а не по отдельности.Применение методов класса ко всему массиву ArrayList
Я создал элементы в списке массива здесь:
for (int i = 0; i < 6; i++) {
venWidth = venWidth - 139;
enemyList.add(new Venusian("/venusian.jpg", venWidth, height));
}
for (int i = 6; i < 12; i++) {
merWidth = merWidth - 145;
enemyList.add(new Mercurian("/mercurian.jpg", merWidth, merHeight));
}
for (int i = 12; i < 18; i++) {
marWidth = marWidth - 125;
enemyList.add(new Martian("/martian.jpg", marWidth, marHeight));
}
Вот где я называю метод ход:
for (int i = 0; i < enemyList.size(); i++) {
Invader Invaders = (Invader) enemyList.get(i);
Invaders.draw(g);
Invaders.Move(1024);
Это делает их двигаться независимо друг от друга и перекрытием, в данный момент Я просто перемещаю их вправо и влево, используя границы моего созданного окна. Так есть ли способ сместить их вместе в одно и то же время? Я искал способ применить метод класса ко всем элементам списков, но через пару часов я ничего не нашел.
Любой материал, источники или рекомендации, касающиеся этого, были бы весьма признательны.
Просто выполните два прохода: один для чертежа , а другой для перемещения.Затем дисплей должен находиться в согласованном состоянии. – kiheru
И дополнительно: оператор списка, который вы ищете, имеет имя foreach. Вы можете позвонить ему через list.foreach. Есть другие интересные операторы списка, которые могут вас заинтересовать. Например, карта, фолд, фильтр. Но имена для них разные в java. –
И вы делаете странные вещи с шириной. Может быть, именование варов здесь не так? –