Mercurial > skaapsteker
view skaapsteker/levelscene.py @ 40:fa1bb94cfa76
Re-factor drawing to blit to a clip rect in the One True Level Surface before blitting that to the screen.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sun, 03 Apr 2011 20:24:47 +0200 |
parents | e2837dd40607 |
children | 4a9e26f1f35a |
line wrap: on
line source
"""Scene wrapping a level object.""" import engine import level import physics import pygame class LevelScene(engine.Scene): def __init__(self, leveldef): self._level = level.Level(leveldef) self._level_surface = self._level.get_surface() self._pos = (0, 0) self._world = physics.World() def draw(self, screen_surface): self._world.update() clip_rect = pygame.Rect(self._pos, screen_surface.get_size()) self._level_surface.set_clip(clip_rect) self._level.draw(self._level_surface) self._world.draw(self._level_surface) screen_surface.blit(self._level_surface, (0, 0), area=clip_rect) def dispatch(self, ev): # handle events here! pass