comparison scripts/level-editor @ 54:43cd89b20492

FPS
author Stefano Rivera <stefano@rivera.za.net>
date Sun, 03 Apr 2011 21:33:32 +0200
parents 7d411ed02eac
children e4089417766e
comparison
equal deleted inserted replaced
53:01cfef3a5acf 54:43cd89b20492
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 "Skaapsteker level editor" 2 "Skaapsteker level editor"
3
4 from __future__ import division
3 5
4 import optparse 6 import optparse
5 import os.path 7 import os.path
6 import sys 8 import sys
7 9
12 from pygame.locals import (SWSURFACE, QUIT, KEYDOWN, K_UP, K_DOWN, K_LEFT, 14 from pygame.locals import (SWSURFACE, QUIT, KEYDOWN, K_UP, K_DOWN, K_LEFT,
13 K_RIGHT, KMOD_SHIFT, K_q, K_ESCAPE) 15 K_RIGHT, KMOD_SHIFT, K_q, K_ESCAPE)
14 16
15 from skaapsteker.constants import SCREEN 17 from skaapsteker.constants import SCREEN
16 from skaapsteker.level import Level 18 from skaapsteker.level import Level
17 import skaapsteker.widgets.text 19 from skaapsteker.widgets.text import Text
18 20
19 FRAMERATE = 60 21 FRAMERATE = 60
20 22
21 def run(levelname): 23 def run(levelname):
22 clock = pygame.time.Clock() 24 clock = pygame.time.Clock()
23 screen_surface = pygame.display.get_surface() 25 screen_surface = pygame.display.get_surface()
24 level = Level(levelname) 26 level = Level(levelname)
25 level_surface = level.get_surface() 27 level_surface = level.get_surface()
26 position = [0, 0] 28 position = [0, 0]
29 fps = 0
27 while True: 30 while True:
28 events = pygame.event.get() 31 events = pygame.event.get()
29 for ev in events: 32 for ev in events:
30 if ev.type is QUIT: 33 if ev.type is QUIT:
31 return 34 return
53 level_surface.set_clip(clip_rect) 56 level_surface.set_clip(clip_rect)
54 level.draw(level_surface) 57 level.draw(level_surface)
55 level.draw_tiles(level_surface) 58 level.draw_tiles(level_surface)
56 screen_surface.blit(level_surface, (0, 0), clip_rect) 59 screen_surface.blit(level_surface, (0, 0), clip_rect)
57 60
58 text = skaapsteker.widgets.text.Text("Level: %s.\nOffset: %r" 61 tilepos = (position[0] // 64, position[1] // 64)
59 % (levelname, position), 62 text = Text("Level: %s.\nOffset: %r Tile: %r\nFPS: %.1f"
60 color='white') 63 % (levelname, position, tilepos, fps),
64 color='white')
61 text.draw(screen_surface, (10, 10)) 65 text.draw(screen_surface, (10, 10))
62 66
63 pygame.display.flip() 67 pygame.display.flip()
64 clock.tick(FRAMERATE) 68 fps = 1000 / clock.tick(FRAMERATE)
65 69
66 def main(): 70 def main():
67 p = optparse.OptionParser(usage="%prog [options] levelname") 71 p = optparse.OptionParser(usage="%prog [options] levelname")
68 opts, args = p.parse_args() 72 opts, args = p.parse_args()
69 if len(args) != 1: 73 if len(args) != 1: