Advertisement
Guest User

Untitled

a guest
Feb 18th, 2015
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void Engine::runEngine(sf::RenderWindow &window)
  2. {
  3.     bool menu = false;
  4.    
  5.     // deklarujemy potrzebne do liczenia obiekty
  6.     Clock clock;    // do mierzenia czasu pomiędzy
  7.     float time=0;   // ile minęło czasu w ostatniej klatce od rozpoczęcia pomiaru
  8.  
  9.     while(!menu)
  10.     {
  11.         Event event;
  12.         sf::Vector2f mysz(Mouse::getPosition(window));
  13.  
  14.         if (Mouse::isButtonPressed(Mouse::Left)) {
  15. /* jak pewnie wiesz, delta (m.in. w fizyce) to przyrost czegoś, delta time czyli przyrost czasu w danej klatce
  16. a więc musimy znać czas jaki minął do poprzedniej klatki i w tej, co liczymy następująco:
  17. */
  18.  
  19.             float delta_time = clock.getElapsedTime().asSeconds() - time;
  20.             time = clock.getElapsedTime().asSeconds(); // aktualizujemy wartość na aktualny czas
  21.             player.idz(delta_time);            // poruszamy się
  22.         }
  23.         else
  24.             player.stop();
  25.  
  26.         ...
  27.     }
  28. }
  29.  
  30.  
  31. void Player::idz(float delta)
  32. {
  33.     ...
  34.     // pamiętaj aby zwiększyć wartość speed do np 30 (w konstruktorze) inaczej postać będzie się słabo poruszała
  35.     sprite.move(vx*speed*delta,vy*speed*delta);
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement