Mercurial > skaapsteker
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: |