comparison demos/shooter/scripts/scene.py @ 481:1f37adc9a685

Added a SoundEmitter class that encapsulates the FIFE sound emitter. The SoundManager is now a factory for SoundEmitters. Also working on getting a callback going for when the sound is finished playing.
author prock@33b003aa-7bff-0310-803a-e67f0ece8222
date Wed, 28 Apr 2010 21:33:11 +0000
parents 85fa5fa486a8
children 82d44c471959
comparison
equal deleted inserted replaced
480:85fa5fa486a8 481:1f37adc9a685
67 67
68 self._paused = False 68 self._paused = False
69 self._timemod = 0 69 self._timemod = 0
70 70
71 self._gameover = False 71 self._gameover = False
72
73 self._music = None
72 74
73 def destroyScene(self): 75 def destroyScene(self):
74 nodestodelete = list() 76 nodestodelete = list()
75 objtodelete = list() 77 objtodelete = list()
76 78
173 self._nodes[nodeindex].spaceobjects.append(powerup) 175 self._nodes[nodeindex].spaceobjects.append(powerup)
174 176
175 #and finally add the player to the scene 177 #and finally add the player to the scene
176 self.addObjectToScene(self._player) 178 self.addObjectToScene(self._player)
177 179
178 self._soundmanager.playSound("music/waynesmind2.ogg") 180 self._music = self._soundmanager.createSoundEmitter("music/waynesmind2.ogg")
181 self._music.play(True)
179 182
180 self.startCamera() 183 self.startCamera()
181 184
182 def pause(self, time): 185 def pause(self, time):
183 self._pausedtime = time 186 self._pausedtime = time
190 def playerHit(self, damage): 193 def playerHit(self, damage):
191 self._player.applyHit(damage) 194 self._player.applyHit(damage)
192 195
193 def gameOver(self): 196 def gameOver(self):
194 self._gameover = True 197 self._gameover = True
195 self._soundmanager.stopSound("music/waynesmind2.ogg") 198 self._music.stop()
196 self._world.gameOver() 199 self._world.gameOver()
197 200
198 def endLevel(self): 201 def endLevel(self):
199 self._soundmanager.stopSound("music/waynesmind2.ogg") 202 self._music.stop()
200 self._world.endLevel() 203 self._world.endLevel()
201 204
202 def queueObjectForRemoval(self, obj): 205 def queueObjectForRemoval(self, obj):
203 self._objectstodelete.append(obj) 206 self._objectstodelete.append(obj)
204 207