Witam. Próbuję zrobić symulacje skakania w sfml. Napisałam taki kod, ale postać skacze tylko raz albo wcale, a potem już się nie da.
if(body.getPosition().y<ground && is_jumping==false)
{
gravitation_velocity=acceleration*change_time;
body.move(0,gravitation_velocity);
}
if(body.getPosition().y==ground)
{
canjump=true;
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::Space)&&canjump)
{
is_jumping=true;
float jump_speed=0;
float jump_high=2;
jump_speed=sqrt(2*acceleration*jump_high);
body.move(0,-jump_speed);
if(change_time>=1)
{
is_jumping=false;
canjump=false;
}
}
Myślę, ze ten fragment ma wszystkie niezbędne informacje. Proszę o pomoc, bo czuję że przegapiałam jakiś mały szczegół.