From 3f3f85d9bb45ae64540f3a725915466a2f187a9e Mon Sep 17 00:00:00 2001 From: adrianna Date: Fri, 9 Sep 2016 20:54:39 +0200 Subject: [PATCH] added rock texture to wall --- tabakrolletjie/obstacles.py | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/tabakrolletjie/obstacles.py b/tabakrolletjie/obstacles.py index b368626..81dd9ce 100644 --- a/tabakrolletjie/obstacles.py +++ b/tabakrolletjie/obstacles.py @@ -1,10 +1,14 @@ """ Obstacles for light and space mould. """ +import pygame.locals as pgl + import pymunk import pymunk.pygame_util import pygame.draw +import pygame.surface -from .constants import OBSTACLE_CATEGORY +from .constants import (SCREEN_SIZE, OBSTACLE_CATEGORY) +from .loader import loader OBSTACLE_FILTER = pymunk.ShapeFilter(categories=OBSTACLE_CATEGORY) @@ -54,10 +58,23 @@ class Wall(BaseObstacle): def __init__(self, vertices): super(Wall, self).__init__() self.shapes.append(pymunk.Poly(self.body, vertices)) + self._image = None + + def get_image(self): + if self._image is None: + self._image = pygame.surface.Surface(SCREEN_SIZE).convert_alpha() + self._image.fill((0,0,0,0)) + + for shape in self.shapes: + pygame_poly = [ + pymunk.pygame_util.to_pygame(v, self._image) for v in + shape.get_vertices()] + pygame.draw.polygon(self._image, (255, 255, 255), pygame_poly) + + wall_texture = loader.load_image("textures", "stone.png").convert_alpha() + self._image.blit(wall_texture, (0, 0), None, pgl.BLEND_RGBA_MULT) + + return self._image def render(self, surface): - for shape in self.shapes: - pygame_poly = [ - pymunk.pygame_util.to_pygame(v, surface) for v in - shape.get_vertices()] - pygame.draw.polygon(surface, (0, 0, 0), pygame_poly) + surface.blit(self.get_image(), (0, 0), None, 0) -- 2.34.1