У меня есть класс мяч со следующими переменными:сделать отскок мяча до остановки
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);
}
Я думал, что это будет сделать шар подпрыгивать медленно, пока он был ячмень движется все (что я бы проверить и затем мяч полностью остановить), но это не так. Мяч будет отскакивать несколько раз в обычном режиме, причем каждый отскок меньше, чем раньше. Однако, после нескольких отскоков, мяч перестанет подпрыгивать ниже предыдущих отскоков. Почему это и что мне делать, чтобы исправить это?
Я согласен с этой оценкой. Лучше применять силы в непрерывном режиме, а затем проверять пороговые значения (например, 0 или меньше). Таким образом, вы можете избежать периодического обновления и просто использовать его в постоянном движении до тех пор, пока другие силы/etc не повлияют на него. – Sh4d0wsPlyr