diff skaapsteker/engine.py @ 123:592477d8b09b

Add fps to game
author Neil Muller <drnlmuller@gmail.com>
date Mon, 04 Apr 2011 23:07:37 +0200
parents fe8652a060df
children 9cae256b91d7
line wrap: on
line diff
--- a/skaapsteker/engine.py	Mon Apr 04 22:39:42 2011 +0200
+++ b/skaapsteker/engine.py	Mon Apr 04 23:07:37 2011 +0200
@@ -10,6 +10,8 @@
     def __init__(self):
         self._framerate = 60
         self._current_scene = None
+        self._fpss = [self._framerate] * 100
+        self._cur_frame = 0
 
     def change_scene(self, next_scene):
         if self._current_scene is not None:
@@ -31,9 +33,13 @@
                     self.change_scene(ev.next_scene)
                     break
                 self._current_scene.dispatch(ev)
-            self._current_scene.draw(surface)
+            self._current_scene.draw(surface, self)
             pygame.display.flip()
-            clock.tick(self._framerate)
+            self._fpss[self._cur_frame] = clock.tick(self._framerate)
+            self._cur_frame = self._cur_frame + 1 if self._cur_frame < 99 else 0
+
+    def get_fps(self):
+        return sum(self._fpss) / 100
 
 
 class Scene(object):