Итак, я пытаюсь сделать простую игру, и мне нужно, чтобы мяч отскакивал от весла. Прямо сейчас у меня есть мяч, отскакивающий от окна, но он проходит через ракетку, и у меня возникают проблемы с тем, чтобы заставить его реалистично отскакивать от ракетки. Вот мой код, который заставляет мяч отскакивать от стен, и он отлично работает:
//advance the ball
ball.advance();
//check if ball should bounce off canvas sides
if(ball.getCenterX()+ ball.getRadius() > canvas.getWidth()) ball.setDirectionX(LEFT);
if(ball.getCenterX() - ball.getRadius() <0) ball.setDirectionX(RIGHT);
if(ball.getCenterY()+ ball.getRadius() > canvas.getHeight()) ball.setDirectionY(UPWARDS);
if(ball.getCenterY() - ball.getRadius() < 0) ball.setDirectionY(DOWNWARDS);
Проблема в том, что я не уверен, должен ли я изменить эти операторы if или добавить больше, и я не уверен, как правильно заставить мяч отскакивать от весла. Я попытался добавить пару операторов if, и лучшее, что у меня получилось, было следующим: GIF игры. Я добавил следующие операторы:
if(ball.getCenterY()+ ball.getRadius() > paddle.getTopLeftY()) ball.setDirectionY(UPWARDS);
if(ball.getCenterY()+ ball.getRadius() < paddle.getTopLeftX()) ball.setDirectionY(DOWNWARDS);
Спасибо за любую помощь, которую вы могли бы дать :)