X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Fscenes%2Fviewlevel.py;h=28e4026ce82a154b2ccad7afdb517c2f5a34e70e;hb=ed7b7dbe49f3962132f0db806552a5873d6fc113;hp=46b8a002c365abf5efeb2e6726e628cfda5a6f8c;hpb=624bc861c82eb50d403d81a1d638807dc1cf46cb;p=koperkapel.git diff --git a/koperkapel/scenes/viewlevel.py b/koperkapel/scenes/viewlevel.py index 46b8a00..28e4026 100644 --- a/koperkapel/scenes/viewlevel.py +++ b/koperkapel/scenes/viewlevel.py @@ -1,14 +1,27 @@ """Render a level and allow moving the scene""" +from pygame.constants import BLEND_RGBA_MULT from pgzero.constants import keys -from .level import LevelScene +from pgzero.loaders import images +from .level import BaseLevelScene from .base import MoveViewportEvent from ..constants import TILE_SIZE +from ..util import safepath -class ViewLevelScene(LevelScene): +class ViewLevelScene(BaseLevelScene): """ Level scene. """ + def enter(self, world): + super().enter(world) + # Mark starting position + self._roach = images.load(safepath("roach/roach_1")).copy() + self._roach.fill((255, 0, 0, 255), None, BLEND_RGBA_MULT) + x = self._level.start_pos[0] * TILE_SIZE + y = self._level.start_pos[1] * TILE_SIZE + for layer in ['floor', 'tunnels']: + self._surfaces[layer].blit(self._roach, (x, y)) + def on_key_down(self, key, mod, unicode): offset = None if key == keys.DOWN: @@ -19,6 +32,12 @@ class ViewLevelScene(LevelScene): offset = (-TILE_SIZE, 0) elif key == keys.RIGHT: offset = (TILE_SIZE, 0) + elif key == keys.S: + if self._level_layer == 'floor': + self._level_layer = 'tunnels' + else: + self._level_layer = 'floor' + return if offset: return [MoveViewportEvent(offset)] return super(ViewLevelScene, self).on_key_down(key, mod, unicode)