Changeset 95:ecba9550ad8d
- Timestamp:
- 09/02/13 09:20:04 (7 years ago)
- Branch:
- default
- Phase:
- public
- Rebase:
- 34376361636365633530343031306138653862653532663264316439366163633561363735343937
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
nagslang/level.py
r75 r95 25 25 self._tile_image = None 26 26 self._surface = None 27 self._exterior = False 27 28 28 29 def load(self): … … 63 64 add_polygon(polygon, index, num_points) 64 65 65 def save(self): 66 def all_closed(self): 67 """Check if all the polygons are closed""" 66 68 closed = True 67 69 for poly in self.polygons.values(): … … 75 77 closed = False 76 78 print "\033[31mError: polygon not closed\033[0m" 79 return closed 80 81 def save(self): 82 closed = self.all_closed() 77 83 if not closed: 78 84 print 'Not saving the level' … … 114 120 def get_background(self): 115 121 self._draw_background() 122 self._draw_exterior() 116 123 # Draw polygons 117 124 self._draw_walls() 118 125 return self._surface 126 127 def _draw_exterior(self, force=False): 128 """Fill the exterior of the level with black""" 129 if self._exterior and not force: 130 return 131 surface = pygame.surface.Surface((self.x, self.y), pgl.SRCALPHA) 132 surface.fill(pygame.color.THECOLORS["black"]) 133 for index, polygon in self.polygons.items(): 134 if len(polygon) > 1: 135 pointlist = [self.point_to_pygame(p) for p in polygon] 136 # filled polygons 137 pygame.draw.polygon(surface, pygame.color.THECOLORS['white'], 138 pointlist, 0) 139 self._surface.blit(surface, (0, 0), special_flags=pgl.BLEND_RGBA_MULT) 140 self._exterior = True 119 141 120 142 def _draw_background(self, force=False):
Note:
See TracChangeset
for help on using the changeset viewer.