Я работаю над школьным заданием, в котором нам поручено создать игру "Break Out" в java с использованием библиотеки Object Draw. Мой план состоял в том, чтобы проверить на столкновение, используя метод ".overlaps", но так как мои кирпичи - это серия FilledRects, расположенных в двумерном массиве, я не могу понять, как проверить на столкновение между FilledOval (шар) и отдельными FilledRects. в массиве.
Я создал массив следующим образом:
for (int row = 0; row < BreakoutProgram.NBRICK_ROWS; row++) {
for (int column = 0; column < BreakoutProgram.NBRICK_COLUMNS; column++) {
brickPile[row][column] = new FilledRect(bricksStartX + column * (BreakoutProgram.BRICK_WIDTH + BreakoutProgram.BRICK_SEP),
bricksStartY + row * (BreakoutProgram.BRICK_HEIGHT + BreakoutProgram.BRICK_SEP), BreakoutProgram.BRICK_WIDTH, BreakoutProgram.BRICK_HEIGHT, bricksColor, canvas);
}
}
Мяч был создан аналогично:
ball = new FilledOval(canvas.getWidth()/2 -BreakoutProgram.BALL_RADIUS/2,canvas.getHeight()/2-BreakoutProgram.BALL_RADIUS/2, BreakoutProgram.BALL_RADIUS,BreakoutProgram.BALL_RADIUS, ballColor, canvas);
Я надеялся проверить столкновение таким образом:
if (ball.overlaps(brickPile[x][y])){
//reverse direction of ball
}
Любая помощь, которую вы могли бы оказать, была бы очень признательна. Спасибо заранее.
Кирпичи в сетке 10х10. Весло под ними и мяч между ними.