Mercurial > nagslang
changeset 56:b9430b4a48da
Now with a werewolf
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sun, 01 Sep 2013 18:51:06 +0200 |
parents | 26d7bb8c09c8 |
children | 1261c0731385 |
files | nagslang/mutators.py nagslang/screens/area.py |
diffstat | 2 files changed, 18 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/nagslang/mutators.py Sun Sep 01 18:50:19 2013 +0200 +++ b/nagslang/mutators.py Sun Sep 01 18:51:06 2013 +0200 @@ -1,7 +1,7 @@ '''Mutations to apply to images''' import pygame -from pygame.transform import rotate +from pygame.transform import rotate, flip class Mutator(object): @@ -47,6 +47,9 @@ R180 = Mutator(rotate, 180) R270 = Mutator(rotate, -90) +FLIP_H = Mutator(flip, True, False) +FLIP_V = Mutator(flip, False, True) + # Colour RED = Colour((255, 0, 0)) GREEN = Colour((0, 255, 0))
--- a/nagslang/screens/area.py Sun Sep 01 18:50:19 2013 +0200 +++ b/nagslang/screens/area.py Sun Sep 01 18:51:06 2013 +0200 @@ -1,5 +1,6 @@ """Display a game area.""" +import math import pygame import pymunk import pymunk.pygame_util @@ -7,6 +8,8 @@ from nagslang.screens.base import Screen from nagslang.level import Level from nagslang.events import ScreenChange +from nagslang.resources import resources +from nagslang.mutators import FLIP_H class ControlKeys(object): @@ -45,7 +48,17 @@ return pymunk.Body.update_velocity(body, gravity, self.damping, dt) def render(self, surface): - pymunk.pygame_util.draw(surface, self.shape) + if self.werewolf: + pos = pymunk.pygame_util.to_pygame(self.body.position, surface) + transforms = () + if abs(self.body.angle) < math.pi / 2: + transforms = (FLIP_H,) + + wolf = resources.get_image('creatures', 'werewolf_1.png', + transforms=transforms) + surface.blit(wolf, pos) + else: + pymunk.pygame_util.draw(surface, self.shape) def go_werewolf(self): self.werewolf = True