diff skaapsteker/engine.py @ 262:de60329cfc9f

Factor out sound stuff
author Neil Muller <drnlmuller@gmail.com>
date Fri, 08 Apr 2011 11:29:37 +0200
parents 8d7edd77bfbf
children afd9256ad682
line wrap: on
line diff
--- a/skaapsteker/engine.py	Fri Apr 08 10:40:16 2011 +0200
+++ b/skaapsteker/engine.py	Fri Apr 08 11:29:37 2011 +0200
@@ -8,7 +8,7 @@
 
 class Engine(object):
 
-    def __init__(self):
+    def __init__(self, soundsystem):
         # avoid circular imports
         from .gamestate import GameState
         self._framerate = 60
@@ -16,8 +16,10 @@
         self._fpss = [self._framerate] * 100
         self._cur_frame = 0
         self.game_state = GameState("game.json")
+        self.soundsystem = soundsystem
 
     def change_scene(self, next_scene):
+        self.soundsystem.stop_music()
         if self._current_scene is not None:
             self._current_scene.leave()
         self._current_scene = next_scene
@@ -51,9 +53,10 @@
 
 class Scene(object):
 
-    def __init__(self, game_state):
+    def __init__(self, game_state, soundsystem):
         self.widgets = []
         self.game_state = game_state
+        self._soundsystem = soundsystem
 
     def post(self, ev):
         """Post an event to pygame's event loop."""