0
ブレイクアウトクローンを提出する必要があり、ボールとレンガの衝突検出に苦労しています。基本的に衝突検出は機能しますが、ボールはビジュアルオブジェクトから約10ピクセル離れたレンガを破壊します。私は両方のオブジェクトの境界をチェックしていますが、問題は、ボールが動くオブジェクトであり、レンガが静的オブジェクトであるということです。衝突検出が正しく機能していません
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
brick = brickArray[i][j];
if (brick == null)
continue;
areBricksLeft = true;
Bounds brickBounds = brick.getBoundsInParent();
Bounds ballBounds = ball.getBoundsInParent();
if (brickBounds.intersects(ballBounds)) {
brick.removeBrickAt(i, j, brick, brickArray, brickPane);
didHitBrick = true;
}
}
}
ボールの丸い形状のためだと思います。円のx位置は中心から始まり、長方形や正方形は先頭にx位置があります。 –