Mercurial > scrounge
changeset 64:5e633ebc8626
added basic sounds - hero walking and attacking
| author | tomu <r.drzazga@gmail.com> |
|---|---|
| date | Sun, 04 Sep 2011 21:04:09 +0200 |
| parents | 199bad12a6be |
| children | 791e37b1ee54 |
| files | .hgignore scroungelib/hero.py scroungelib/sound.py scroungelib/sound/attack.wav scroungelib/sound/miss.flac scroungelib/sound/step.wav |
| diffstat | 6 files changed, 32 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Fri Sep 02 00:34:08 2011 +0200 +++ b/.hgignore Sun Sep 04 21:04:09 2011 +0200 @@ -1,2 +1,3 @@ \.swp$ \.pyc$ +run_game\.py
--- a/scroungelib/hero.py Fri Sep 02 00:34:08 2011 +0200 +++ b/scroungelib/hero.py Sun Sep 04 21:04:09 2011 +0200 @@ -6,6 +6,7 @@ from scroungelib import display from scroungelib import thing from scroungelib import effect +from scroungelib.sound import sound_system class HeroSprite(display.Sprite): @@ -14,6 +15,11 @@ 0: { -1: 2, 0: 0, 1: 0 }, 1: { -1: 2, 0: 3, 1: 3}, } + sounds = dict( + walk='step.wav', + attack='attack.wav', + #miss='miss.flac', + ) def __init__(self): super(HeroSprite, self).__init__(0, 0, 'hero.png') @@ -32,6 +38,7 @@ def anim_walk(self, dx, dy): self.facing = self.faces[dx][dy] self.depth = self.rect.midbottom[1] + 1 + sound_system.play(self.sounds['walk']) for frame in range(4): self.image = self.frames[self.facing][frame % 4] for step in range(2): @@ -67,6 +74,7 @@ self.rect.move_ip(0, step) def anim_fight(self, dx, dy): + sound_system.play(self.sounds['attack']) self.facing = self.faces[dx][dy] self.image = self.frames[self.facing][4] h = [1, 2, -3]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scroungelib/sound.py Sun Sep 04 21:04:09 2011 +0200 @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +import os + +import pygame + + +MUSIC_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'sound') + +class Sound(object): + + def __init__(self): + pygame.mixer.init() + + def load_sound(self, filename): + filepath = os.path.join(MUSIC_DIR, filename) + pygame.mixer.music.load(filepath) + + def play(self, filename): + self.load_sound(filename) + pygame.mixer.music.play() + +sound_system = Sound()
