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()
Binary file scroungelib/sound/attack.wav has changed
Binary file scroungelib/sound/miss.flac has changed
Binary file scroungelib/sound/step.wav has changed