lunes, 5 de enero de 2009

pacman 0.008 - Sonido

código pacman

En esta ocasión introducimos los sonidos en nuestro videojuego. Además, aprovechamos para introducir algunas otras mejoras:

  • Añadimos teletransportadores.
  • Contador de disparos.
  • Mensajes de puntos y disparos.
  • Control de fin de juego. El juego finalizará cuando muera pacman o todos los fantasmas.
  • Los fantasmas se reproducirán cada 20 segundos.

El uso de sonido es muy sencillo con Pygame. Para cargar un sonido basta con crear un objeto Sound de la siguiente forma:

sonido = pygame.mixer.Sound ( fichero_sonido )
Y para reproducirlo empleamos la función "play" del objeto sonido.
sonido.play()

Si queremos reproducir el sonido de forma indefinida, por ejemplo, para la música de fondo, basta con pasar "-1" como parámetro a la función "play".

sonido.play(-1)

Si queremos detener el sonido tan solo tenemos que llamar a la función "stop"

sonido.stop()

En nuestro juego hemos creado un repositorio de sonido para evitar recargar continuamente el mismo fichero.

sonidos = {}
def cargar_sonido ( fichero_sonido ):
   global sonidos
sonido = sonidos.get ( fichero_sonido, None )
if sonido is None:
sonido = pygame.mixer.Sound ( os.path.join ("sonidos",
fichero_sonido))        
sonidos[fichero_sonido] = sonido
    
return sonido

El resto de mejoras las puedes ver en el código de esta nueva versión de Pacman

No hay comentarios: