comparison gamelib/engine.py @ 237:4a87bfa5cc63

Twiddle animation cycle
author Neil Muller <drnlmuller@gmail.com>
date Sat, 05 Sep 2009 09:48:48 +0000
parents d3d5352f5853
children 634491bf37e8
comparison
equal deleted inserted replaced
236:9a6ac9c9ff46 237:4a87bfa5cc63
108 self.game.gameboard.start_day() 108 self.game.gameboard.start_day()
109 109
110 sound.play_sound("daybreak.ogg") 110 sound.play_sound("daybreak.ogg")
111 # disable timer 111 # disable timer
112 pygame.time.set_timer(MOVE_FOX_ID, 0) 112 pygame.time.set_timer(MOVE_FOX_ID, 0)
113 pygame.time.set_timer(ANIM_ID, 50) 113 pygame.time.set_timer(ANIM_ID, SLOW_ANIM_SPEED)
114 self.game.gameboard.advance_day() 114 self.game.gameboard.advance_day()
115 self.game.gameboard.clear_foxes() 115 self.game.gameboard.clear_foxes()
116 sound.background_music("daytime.ogg") 116 sound.background_music("daytime.ogg")
117 self.game.gameboard.hatch_eggs() 117 self.game.gameboard.hatch_eggs()
118 118
179 self.game.gameboard.run_animations() 179 self.game.gameboard.run_animations()
180 elif e.type is MOVE_FOX_ID: 180 elif e.type is MOVE_FOX_ID:
181 # Timer aren't nessecairly ordered, so we make sure 181 # Timer aren't nessecairly ordered, so we make sure
182 # we don't get a ANIM event until at least cycle after this 182 # we don't get a ANIM event until at least cycle after this
183 pygame.time.set_timer(ANIM_ID, self.cycle_time) 183 pygame.time.set_timer(ANIM_ID, self.cycle_time)
184 # Ensure any outstanding animitions get cleaned up
185 self.game.gameboard.run_animations()
184 self.cycle_count += 1 186 self.cycle_count += 1
185 if self.cycle_count > constants.NIGHT_LENGTH: 187 if self.cycle_count > constants.NIGHT_LENGTH:
186 return pygame.event.post(START_DAY) 188 return pygame.event.post(START_DAY)
187 if self.game.gameboard.move_foxes(): 189 if self.game.gameboard.move_foxes():
188 # All foxes are gone/safe, so dawn happens 190 # All foxes are gone/safe, so dawn happens