X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Fscenes%2Flevel.py;h=856f4cec8e9ead960cc666a1866d48fdd38363b1;hb=03537d4fda708994f08f17ae33f461eb6fbd14ba;hp=fcf99951dee5dbaba0d8daa7fc85790934afadfc;hpb=0026e22c02a2373b7857ed06d69f1ceaf8d27ea1;p=koperkapel.git diff --git a/koperkapel/scenes/level.py b/koperkapel/scenes/level.py index fcf9995..856f4ce 100644 --- a/koperkapel/scenes/level.py +++ b/koperkapel/scenes/level.py @@ -52,17 +52,18 @@ class BaseLevelScene(Scene): def update(self, world, engine, dt): """Fix the door and keypad positions""" for door in self._doors: - door.pos = engine.calc_offset( + door.pos = self.calc_offset( door.game_pos[0] * TILE_SIZE, door.game_pos[1] * TILE_SIZE) for keypad in self._keypads: - keypad.pos = engine.calc_offset( + keypad.pos = self.calc_offset( keypad.game_pos[0] * TILE_SIZE, keypad.game_pos[1] * TILE_SIZE) - def draw(self, screen, viewport): + def draw(self, screen): screen.clear() # Viewport is the position of the screen relative to the # surface. We need the position of the surface relative to # the screen for the blit, so this conversion + viewport = self.viewport screen.surface.blit(self._surfaces[self._level_layer], (0, 0), area=(viewport[0], viewport[1], WIDTH, HEIGHT)) if self._level_layer != 'floor': @@ -81,6 +82,8 @@ class BaseLevelScene(Scene): class GameLevelScene(BaseLevelScene): def enter(self, world): + if self._level is not None: + return super().enter(world) self._roaches = self.actors.add_layer("roaches", level=10) self._vehicle = Vehicle.current(world)