Changeset 107:b90d01e4d9d4
- Timestamp:
- 09/02/13 12:01:55 (7 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- nagslang
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
nagslang/constants.py
r81 r107 16 16 17 17 SWITCH_PUSHERS = [COLLISION_TYPE_PLAYER, COLLISION_TYPE_BOX] 18 19 ZORDER_FLOOR = 0 20 ZORDER_LOW = 1 21 ZORDER_MID = 2 22 ZORDER_HIGH = 3 -
nagslang/game_object.py
r106 r107 5 5 import pymunk.pygame_util 6 6 7 from nagslang.constants import SWITCH_PUSHERS, COLLISION_TYPE_SWITCH 7 from nagslang.constants import ( 8 SWITCH_PUSHERS, COLLISION_TYPE_SWITCH, ZORDER_LOW) 8 9 from nagslang.options import options 9 10 … … 178 179 self.renderer = renderer 179 180 self.puzzler = puzzler 181 self.zorder = ZORDER_LOW 180 182 181 183 def get_render_position(self, surface): -
nagslang/protagonist.py
r104 r107 2 2 import pymunk.pygame_util 3 3 4 from nagslang.constants import COLLISION_TYPE_PLAYER 4 from nagslang.constants import COLLISION_TYPE_PLAYER, ZORDER_MID 5 5 from nagslang.game_object import ( 6 6 GameObject, SingleShapePhysicser, FacingImageRenderer) … … 26 26 super(Protagonist, self).__init__( 27 27 self._physicsers[self.form], self._renderers[self.form]) 28 self.zorder = ZORDER_MID 28 29 29 30 self.go_human() -
nagslang/screens/area.py
r106 r107 5 5 import pymunk.pygame_util 6 6 7 from nagslang.constants import ZORDER_HIGH 7 8 from nagslang.events import ScreenChange 8 9 from nagslang.game_object import FloorSwitch, FloorLight, PuzzleGlue … … 44 45 45 46 47 class Drawables(object): 48 def __init__(self): 49 self._drawables = {} 50 51 def add(self, drawable): 52 self._drawables.setdefault(drawable.zorder, []).append(drawable) 53 54 def remove(self, drawable): 55 self._drawables[drawable.zorder].remove(drawable) 56 57 def get_drawables(self): 58 for zorder in sorted(self._drawables): 59 for drawable in self._drawables[zorder]: 60 yield drawable 61 62 __iter__ = get_drawables 63 64 46 65 class AreaScreen(Screen): 47 66 … … 50 69 self._level = Level(self.name) 51 70 self._level.load() 52 self._drawables = []71 self._drawables = Drawables() 53 72 self.add_walls() 54 73 self.add_protagonist() … … 57 76 switch = FloorSwitch(self.space, (300, 400)) 58 77 light = FloorLight(self.space, (300, 500), 'switch') 78 light2 = FloorLight(self.space, (250, 500), 'switch') 79 light2.zorder = ZORDER_HIGH 59 80 glue.add_component('switch', switch.puzzler) 60 81 glue.add_component('light', light.puzzler) 61 self._drawables.append(switch) 62 self._drawables.append(light) 82 glue.add_component('light2', light2.puzzler) 83 self._drawables.add(switch) 84 self._drawables.add(light) 85 self._drawables.add(light2) 63 86 64 87 def add_walls(self): … … 79 102 def add_protagonist(self): 80 103 self.protagonist = Protagonist(self.space, (350, 300)) 81 self._drawables.a ppend(self.protagonist)104 self._drawables.add(self.protagonist) 82 105 83 106 def handle_event(self, ev):
Note:
See TracChangeset
for help on using the changeset viewer.