Breakout: Use the pending new ball rect for brick collision testing

Otherwise the ball will bounce one frame *after* hitting a brick.
This commit is contained in:
Andreas Kling 2020-11-09 13:15:30 +01:00
parent 8e4e77fcf4
commit 0bf927a824

View file

@ -204,10 +204,10 @@ void Game::tick()
for (auto& brick : m_bricks) {
if (brick.dead)
continue;
if (m_ball.rect().intersects(brick.rect)) {
if (new_ball.rect().intersects(brick.rect)) {
brick.dead = true;
auto overlap = m_ball.rect().intersected(brick.rect);
auto overlap = new_ball.rect().intersected(brick.rect);
if (overlap.width() < overlap.height()) {
new_ball.x = m_ball.x;
new_ball.vx *= -1;