Я пытаюсь сделать 2D-игру. У меня есть массив прямоугольников для представления атак. Я пытаюсь заставить их вращаться, чтобы они повернули на 45 градусов. Когда я пытаюсь сделать больше заклинаний после первого, они сталкиваются с случайными местами вокруг экрана. Вот мой код:Вращение Rectangle Arrayed
Rectangle[] waterBolt = new Rectangle[10];
float[] wba = new float[10];
int wbc = 0;
Graphics2D[] gwb = new Graphics2D[10];
public void renderSpell(Graphics2D g) {
for(int i=0; i<10; i++) {
if (waterBolt[i] != null) {
gwb[i] = (Graphics2D) g;
gwb[i].rotate(Math.toRadian(45), waterBolt[i].x, waterBolt[i].y);
gwb[i].fill(waterBolt[i]);
}
}
}
public void castSpell(int spellID) {
waterBolt[wbc] = new Rectangle(playerX, playerY, 16, 16);
wba[wbc] = (float) Math.toRadians(Math.atan2(mouseX - playerX, mouseY - playerY));
wbc++;
if (wbc >= 10) {
wbc = 0;
}
}
А вот что происходит с моим экране, когда я бросил их все стоит на месте:
Все они вращаются больше 45 градусов каждый раз, когда я нажимаю, чтобы бросить , но я не знаю, как это исправить.