"""
Aquí mostramos como reproducir música de fondo con Pygame.
Sample Python/Pygame Programs
Simpson College Computer Science
http://programarcadegames.com/
http://simpson.edu/computer-science/
"""
import pygame
# Definimos algunos colores
BLANCO = (255, 255, 255)
pygame.init()
# Establecemos la altura y largo de la pantalla
dimensiones = [700, 500]
pantalla = pygame.display.set_mode(dimensiones)
pygame.display.set_caption("Mi Juego")
# Iteramos hasta que el usuario haga click sobre el botón de cerrar
hecho = False
# Usado para gestionar cuán rápido se actualiza la pantalla
reloj = pygame.time.Clock()
# Reproduciremos "Oh Fortuna" por el coro del MIT
# Disponible en:
# http://freemusicarchive.org/music/MIT_Concert_Choir/Carmina_Burana_Carl_Orff/01_1355
pygame.mixer.music.load('MIT_Concert_Choir_O_Fortuna.mp3')
pygame.mixer.music.set_endevent(pygame.constants.USEREVENT)
pygame.mixer.music.play()
# -------- Bucle Principal del Programa -----------
while not hecho:
# TODO EL PROCESAMIENTO DE EVENTOS DEBERÍA IR DEBAJO DE ESTE COMENTARIO
for evento in pygame.event.get(): # El usuario hizo algo
if evento.type == pygame.QUIT: # Si el usuario hace click sobre cerrar
hecho = True # Marca que ya lo hemos hecho, de forma que abandonamos el bucle
elif evento.type == pygame.constants.USEREVENT:
# Este evento es disparado cuando la canción deja de reproducirse.
#
# Luego, Reproduciremos "Alone" por Saito Koji
# Disponible en:
# http://freemusicarchive.org/music/Saito_Koji/Again/01-Alone
pygame.mixer.music.load('Saito_Koji_-_01_-_Alone.mp3')
pygame.mixer.music.play()
# TODO EL PROCESAMIENTO DE EVENTOS DEBERÍA IR ENCIMA DE ESTE COMENTARIO
# TODA LA LÓGICA DEL JUEGO DEBERÍA IR DEBAJO DE ESTE COMENTARIO
# TODA LA LÓGICA DEL JUEGO DEBERÍA IR ENCIMA DE ESTE COMENTARIO
# TODO EL CÓDIGO DE DIBUJO DEBERÍA IR DEBAJO DE ESTE COMENTARIO
# Primero, limpiamos la pantalla con color blanco. No pongas otros comandos de dibujo
# encima de esto, de lo contrario serán borrados por el comando siguiente.
pantalla.fill(BLANCO)
# TODO EL CÓDIGO DE DIBUJO DEBERÍA IR ENCIMA DE ESTE COMENTARIO
# Avancemos y actualicemos la pantalla con lo que hemos dibujado.
pygame.display.flip()
# Limitamos a 60 fotogramas por segundo
reloj.tick(60)
# Pórtate bien con el IDLE. Si nos olvidamos de esta línea, el programa se 'colgará'
# en la salida.
pygame.quit ()