Mercurial > nagslang
comparison nagslang/screens/area.py @ 308:3dee86b6c216
Enemies leave corpses
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Fri, 06 Sep 2013 00:36:14 +0200 |
parents | c2bbb1e70d6f |
children | 72aca01c87ed |
comparison
equal
deleted
inserted
replaced
307:c2bbb1e70d6f | 308:3dee86b6c216 |
---|---|
4 import pymunk | 4 import pymunk |
5 import pymunk.pygame_util | 5 import pymunk.pygame_util |
6 | 6 |
7 from nagslang.constants import ( | 7 from nagslang.constants import ( |
8 COLLISION_TYPE_WALL, COLLISION_TYPE_PLAYER, CALLBACK_COLLIDERS) | 8 COLLISION_TYPE_WALL, COLLISION_TYPE_PLAYER, CALLBACK_COLLIDERS) |
9 from nagslang.events import ScreenChange, DoorEvent, FireEvent | 9 from nagslang.enemies import DeadEnemy |
10 from nagslang.events import ScreenChange, DoorEvent, FireEvent, EnemyDeathEvent | |
10 from nagslang.level import Level | 11 from nagslang.level import Level |
11 from nagslang.screens.base import Screen | 12 from nagslang.screens.base import Screen |
12 from nagslang.game_object import Bullet | 13 from nagslang.game_object import Bullet |
13 from nagslang.sound import sound | 14 from nagslang.sound import sound |
14 | 15 |
148 # position change is enough | 149 # position change is enough |
149 elif FireEvent.matches(ev): | 150 elif FireEvent.matches(ev): |
150 bullet = Bullet(self.space, ev.source, ev.impulse, ev.damage, | 151 bullet = Bullet(self.space, ev.source, ev.impulse, ev.damage, |
151 ev.source_collision_type) | 152 ev.source_collision_type) |
152 self._drawables.add(bullet) | 153 self._drawables.add(bullet) |
154 elif EnemyDeathEvent.matches(ev): | |
155 self.world.kills += 1 | |
156 dead_enemy = DeadEnemy(self.space, self.world, ev.position, | |
157 ev.enemy_type) | |
158 self._drawables.add(dead_enemy) | |
153 self.keys.handle_event(ev) | 159 self.keys.handle_event(ev) |
154 | 160 |
155 def _calc_viewport(self, level_surface, display_surface): | 161 def _calc_viewport(self, level_surface, display_surface): |
156 level_size = level_surface.get_size() | 162 level_size = level_surface.get_size() |
157 display_size = display_surface.get_size() | 163 display_size = display_surface.get_size() |