Mercurial > nagslang
changeset 27:3e4d8091268c
A werewolf always knows where she's going.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sun, 01 Sep 2013 16:03:04 +0200 |
parents | 16b02d3ab9a4 |
children | c03982fe3c70 |
files | nagslang/screens/area.py |
diffstat | 1 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/nagslang/screens/area.py Sun Sep 01 15:58:38 2013 +0200 +++ b/nagslang/screens/area.py Sun Sep 01 16:03:04 2013 +0200 @@ -1,5 +1,7 @@ """Display a game area.""" +import math + import pygame import pymunk import pymunk.pygame_util @@ -31,7 +33,8 @@ self.protagonist = pymunk.Circle(self.protagonist_body, 30) self.space.add(self.protagonist_body, self.protagonist) - def protagonist_move(self, dx, dy): + def protagonist_move(self, dx, dy, angle): + self.protagonist_body.angle = angle self.protagonist_body.apply_impulse((dx * 2000, dy * 2000)) def handle_event(self, ev): @@ -39,13 +42,13 @@ if ev.key == pygame.locals.K_ESCAPE: ScreenChange.post('menu') elif ev.key == pygame.locals.K_UP: - self.protagonist_move(0, 1) + self.protagonist_move(0, 1, math.pi / 2) elif ev.key == pygame.locals.K_DOWN: - self.protagonist_move(0, -1) + self.protagonist_move(0, -1, -math.pi / 2) elif ev.key == pygame.locals.K_LEFT: - self.protagonist_move(-1, 0) + self.protagonist_move(-1, 0, math.pi) elif ev.key == pygame.locals.K_RIGHT: - self.protagonist_move(1, 0) + self.protagonist_move(1, 0, 0) def render(self, surface): surface.fill(pygame.color.Color(0, 0, 0))