Mercurial > skaapsteker
view scripts/level-shot @ 619:4ffa9d159588
Some coordinate operators, to reduce foo_x, foo_y everywhere.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Fri, 06 May 2011 16:37:43 +0200 |
parents | dc73dda93fb1 |
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()