Mercurial > skaapsteker
diff skaapsteker/sprites/items.py @ 529:0ffb493a6fa4
Add support for sounds for breaking objects.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sun, 10 Apr 2011 00:11:18 +0200 |
parents | 8087e95ade2f |
children | eec2cf912e03 |
line wrap: on
line diff
--- a/skaapsteker/sprites/items.py Sun Apr 10 00:09:20 2011 +0200 +++ b/skaapsteker/sprites/items.py Sun Apr 10 00:11:18 2011 +0200 @@ -1,4 +1,4 @@ -from .. import engine, data +from .. import engine, data, sound from .base import Item, PC_LAYER, PROJECTILE_LAYER import time @@ -12,13 +12,16 @@ class BreakableItem(Item): whole_image_file = None broken_image_file = None + breaking_sound = (None, None) collides_with = set([PC_LAYER, PROJECTILE_LAYER]) def setup(self, broken, **opts): super(BreakableItem, self).setup(**opts) self.broken = broken - + if self.breaking_sound[0] is not None: + track, volume = self.breaking_sound + sound.load_sound(track, track, volume) def setup_image_data(self, pos): self.image_file = self.broken_image_file if self._me.broken else self.whole_image_file @@ -29,6 +32,8 @@ self._me.broken = True self.broken = True self.setup_image_data(self._starting_tile_pos) + if self.breaking_sound[0] is not None: + sound.play_sound(self.breaking_sound[0]) def damage(self, damage): self.smash() @@ -215,6 +220,7 @@ class Vase(BreakableItem): whole_image_file = 'props/vase-whole.png' broken_image_file = 'props/vase-broken.png' + breaking_sound = ('sounds/vase breaking.ogg', 0.1) class Salmon(Item):