Add starting position to level, and show it on view level screen
[koperkapel.git] / koperkapel / scenes / viewlevel.py
index fa3fd997d4a5843bd7b7578434457190738b076e..f6c56b66861b140ce95c86c8164d6e76da41e16e 100644 (file)
@@ -1,6 +1,10 @@
 """Render a level and allow moving the scene"""
 
+import os
+
+from pygame.constants import BLEND_RGBA_MULT
 from pgzero.constants import keys
+from pgzero.loaders import images
 from .level import BaseLevelScene
 from .base import MoveViewportEvent
 from ..constants import TILE_SIZE
@@ -9,6 +13,16 @@ from ..constants import TILE_SIZE
 class ViewLevelScene(BaseLevelScene):
     """ Level scene. """
 
+    def enter(self, world):
+        super().enter(world)
+        # Mark starting position
+        self._roach = images.load(os.path.join("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: