Advertisement
Guest User

SlashC++Programmer

a guest
Jan 24th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. CircleMover circle;
  2.  
  3. // time step
  4. int last = millis();
  5. int dt = 1000 / 60;
  6. int now = 0;
  7. int passed = 0;
  8. int accumulator = 0;
  9.  
  10. // render states
  11. int renderState = 0;
  12. int currentRenderState = 0;
  13. int prevRenderState = 0;
  14.  
  15. void setup()
  16. {
  17. size(800,600);
  18. circle = new CircleMover();
  19. }
  20.  
  21. void Update()
  22. {
  23. // start of time step
  24. int now = millis();
  25. int passed = now - last;
  26. last = now;
  27. accumulator += passed;
  28.  
  29. while (accumulator >= dt)
  30. {
  31. //render states
  32. prevRenderState = currentRenderState;
  33.  
  34. // update positions
  35. circle.Update(dt);
  36. accumulator -= dt;
  37. }
  38. // end of time step
  39. }
  40.  
  41. void DrawRender()
  42. {
  43. circle.draw(renderState);
  44. }
  45.  
  46. void draw()
  47. {
  48. // update
  49. thread("Update");
  50.  
  51. // apply render states
  52. thread("DrawRender");
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement