Tutorial Sound
O objetivo deste tutorial é carregar uma música de fundo para o jogo e mais um som aleatório que ocorre ao pressionar um botão. Iremos adotar o som de uma porta fechando ao pressionar espaço. Os arquivos necessários para seguir este tutorial encontra-se a seguir:
Descompacte esses arquivos na pasta onde seu código será implementado. Usamos os áudios no formato .ogg por ser um formato muito leve (neste caso 3 vezes mais leve que o formato mp3). Para converter seus arquivos para este formato você pode usar as seguintes ferramentas online:
Inicialmente vamos estabelecer o código para manter a música em loop ao abrir o jogo. Começamos com as importações necessárias, criamos o objeto musica01 e configuramos este objeto. Entramos então no GameLoop fazendo o update da janela a cada laço.
from PPlay.window import *
from PPlay.sound import *
janela = Window(600, 400)
musica01 = Sound("musicaFase01.ogg")
musica01.loop = True
musica01.play()
while True:
janela.update()
Com este código em execução você deverá ser capaz de ouvir a música tocando. Agora vamos adicionar um teclado para fazer o controle do segundo som.
from PPlay.window import *
from PPlay.sound import *
from PPlay.keyboard import *
janela = Window(600, 400)
teclado = Keyboard()
musica01 = Sound("musicaFase01.ogg")
musica01.loop = True
musica01.play()
portaFechando = Sound("portaFechando.ogg")
while True:
if teclado.key_pressed("SPACE"):
portaFechando.play()
janela.update()
Agora você poderá escutar o barulho da porta fechando sempre que pressionar espaço, no entanto é notório que este som está muito mais alto que a música de fundo, então vamos fazer o controle do volume deste objeto.
from PPlay.window import *
from PPlay.sound import *
from PPlay.keyboard import *
janela = Window(600, 400)
teclado = Keyboard()
musica01 = Sound("musicaFase01.ogg")
musica01.loop = True
musica01.play()
portaFechando = Sound("portaFechando.ogg")
while True:
if teclado.key_pressed("SPACE"):
portaFechando.set_volume(50)
portaFechando.stop()
portaFechando.play()
janela.update()
Note que é necessário alterar o volume e antes de realizar o play() é necessário fazer o stop() para que o volume de fato seja configurado. Vamos definir alguns controles para a música agora:
from PPlay.window import *
from PPlay.sound import *
from PPlay.keyboard import *
janela = Window(600, 400)
teclado = Keyboard()
musica01 = Sound("musicaFase01.ogg")
musica01.set_volume(50)
musica01.stop()
musica01.loop = True
musica01.play()
portaFechando = Sound("portaFechando.ogg")
while True:
if teclado.key_pressed("SPACE"):
portaFechando.set_volume(50)
portaFechando.stop()
portaFechando.play()
if teclado.key_pressed("S"):
musica01.stop()
if teclado.key_pressed("P"):
musica01.set_volume(50)
musica01.stop()
musica01.play()
janela.update()
Desta forma garantimos que a música será reproduzida no volume 50%, e podemos controlar se a musica será tocada ou não com as teclas “P” e “S”.
Crédito: Sergio Herman