У меня есть класс мяча со следующими переменными:
int x,y,width,height;
double velX,velY;
Я хочу сделать так, чтобы всякий раз, когда мяч попадает в блок, он отскакивал и терял некоторую скорость.
//Gravity & movement for the ball
ball.setVelY(ball.getVelY() + 0.2);
ball.setY((int)(ball.getY() + ball.getVelY()));
//Make the ball bounce.
if(ball.getBounds().intersects(block.getBounds()){
ball.setVelY(ball.getVelY() * -0.7);
}
Я думал, что это заставит мяч медленно подпрыгивать до тех пор, пока ячмень вообще не начнет двигаться (что я бы проверил, а затем полностью остановил мяч), но это не так. Мяч будет отскакивать несколько раз, как обычно, причем каждый отскок будет меньше, чем предыдущий. Однако после нескольких отскоков мяч перестанет отскакивать ниже, чем предыдущие отскоки. Почему это и что мне делать, чтобы это исправить?