Changeset 160:0c9b0449485e for nagslang
- Timestamp:
- Sep 2, 2013, 10:50:11 PM (7 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
nagslang/game_object.py
r159 r160 166 166 self._image = image 167 167 168 def render(self, surface): 168 def get_image(self): 169 return self._image 170 171 def rotate_image(self, image): 172 angle = self.game_object.get_render_angle() * 180 / math.pi 173 return pygame.transform.rotate(image, angle) 174 175 def render_image(self, surface, image): 176 image = self.rotate_image(image) 169 177 pos = self.game_object.get_render_position(surface) 170 angle = self.game_object.get_render_angle() * 180 / math.pi171 image = pygame.transform.rotate(self._image, angle)172 178 surface.blit(image, image_pos(image, pos)) 179 180 def render(self, surface): 181 self.render_image(surface, self.get_image()) 173 182 super(ImageRenderer, self).render(surface) 174 183 175 184 176 class FacingImageRenderer( Renderer):185 class FacingImageRenderer(ImageRenderer): 177 186 def __init__(self, left_image, right_image): 178 187 self._images = { … … 188 197 self._face = 'left' 189 198 190 def get_image(self, angle): 199 def rotate_image(self, image): 200 # Facing images don't get rotated. 201 return image 202 203 def get_facing_image(self): 204 return self._images[self._face] 205 206 def get_image(self): 207 angle = self.game_object.get_render_angle() 191 208 self._update_facing(angle) 192 return self._images[self._face] 193 194 def render(self, surface): 195 pos = self.game_object.get_render_position(surface) 196 image = self.get_image(self.game_object.get_render_angle()) 197 surface.blit(image, image_pos(image, pos)) 198 super(FacingImageRenderer, self).render(surface) 209 return self.get_facing_image() 199 210 200 211 … … 209 220 self._face = 'left' 210 221 211 def get_image(self, angle): 212 self._update_facing(angle) 222 def get_facing_image(self): 213 223 if self._frame >= len(self._images[self._face]): 214 224 self._frame = 0 215 225 return self._images[self._face][self._frame] 216 217 def render(self, surface):218 pos = self.game_object.get_render_position(surface)219 image = self.get_image(self.game_object.get_render_angle())220 surface.blit(image, image_pos(image, pos))221 super(FacingImageRenderer, self).render(surface)222 226 223 227 def animate(self): … … 241 245 self._image = None 242 246 243 def _get_image(self):247 def get_image(self): 244 248 if self._frame > len(self._imaages): 245 249 self._frame = 0 246 250 return self._images[self._frame] 247 248 def render(self, surface):249 self._image = self._get_image()250 super(TimedAnimatedRenderer, self).render(surface)251 251 252 252 def animate(self):
Note: See TracChangeset
for help on using the changeset viewer.