Mercurial > nagslang
changeset 21:1b048d2a8411
Fake area.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sun, 01 Sep 2013 15:34:57 +0200 |
parents | 347667c941de |
children | 47e41e89f07d |
files | nagslang/screens/area.py nagslang/screens/menu.py |
diffstat | 2 files changed, 27 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/nagslang/screens/area.py Sun Sep 01 15:18:11 2013 +0200 +++ b/nagslang/screens/area.py Sun Sep 01 15:34:57 2013 +0200 @@ -1,12 +1,36 @@ """Display a game area.""" import pygame +import pymunk +import pymunk.pygame_util from nagslang.screens.base import Screen from nagslang.events import ScreenChange class AreaScreen(Screen): + + def setup(self, world): + self.add_walls(world) + self.add_protagonist(world) + + def add_walls(self, world): + self.walls = [] + body = pymunk.Body() + body.position = (400, 300) + corners = [(-200, -150), (-200, 150), (200, 150), (200, -150)] + corner = corners[-1] + for next_corner in corners: + self.walls.append(pymunk.Segment(body, corner, next_corner, 5)) + corner = next_corner + self.space.add(*self.walls) + + def add_protagonist(self, world): + body = pymunk.Body(100, 1000) + body.position = (400, 300) + self.protagonist = pymunk.Circle(body, 30) + self.space.add(self.protagonist) + def handle_event(self, ev): if ev.type == pygame.locals.KEYDOWN: if ev.key == pygame.locals.K_ESCAPE: @@ -14,3 +38,5 @@ def render(self, surface): surface.fill(pygame.color.Color(0, 0, 0)) + pymunk.pygame_util.draw(surface, *self.walls) + pymunk.pygame_util.draw(surface, self.protagonist)
--- a/nagslang/screens/menu.py Sun Sep 01 15:18:11 2013 +0200 +++ b/nagslang/screens/menu.py Sun Sep 01 15:34:57 2013 +0200 @@ -16,6 +16,7 @@ ScreenChange.post('level1') def render(self, surface): + surface.fill(pygame.color.Color(0, 0, 0)) color = pygame.color.Color(255, 0, 0) rect = pygame.rect.Rect(10, 10, 200, 200) surface.fill(color, rect)