Mercurial > skaapsteker
view scripts/level-shot @ 590:dc73dda93fb1
Level shot tool
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sun, 10 Apr 2011 17:56:19 +0200 |
parents | |
children |
line wrap: on
line source
#!/usr/bin/env python "Skaapsteker level -> image tool" from __future__ import division import optparse import os.path import sys sys.path.insert(0, os.path.dirname(os.path.dirname(__file__))) import pygame from pygame.locals import SWSURFACE from skaapsteker.constants import SCREEN from skaapsteker.level import Level from skaapsteker.sprites.player import Player from skaapsteker.gamestate import GameState from skaapsteker.sound import SoundSystem from skaapsteker.data import filepath def run(levelname): game = GameState(None) game.load_game(filepath("game.json")) player = Player(game.world, SoundSystem(False)) level = Level(levelname, player) level.backgrounds = [] level_surface = level.get_surface() for sprite in game.create_sprites(levelname): level.sprites.add(sprite) clip_rect = pygame.Rect((0, 0), level_surface.get_size()) level_surface.set_clip(clip_rect) level_surface.fill((220, 220, 220)) level.draw(level_surface) level.sprites.draw(level_surface) pygame.image.save(level_surface, levelname + '.png') def main(): p = optparse.OptionParser(usage="%prog [options] levelname") opts, args = p.parse_args() if len(args) != 1: p.error("Must provide level name") pygame.display.init() pygame.font.init() pygame.display.set_mode(SCREEN, SWSURFACE) run(args[0]) if __name__ == '__main__': main()