Conheça a iniciativa da Biblioteca dos Desenvolvedores
Índice da Biblioteca
Área dos Usuários
Fórum de Discussão
Usando sons e efeitos sonoros nos jogos
Antes de iniciarmos a explicação das funções responsáveis pela execução dos efeitos sonoros teremos que entender e declarar a função para a instalação do dispositivo de som no Allegro.
Podemos fazer a declaração do dispositivo da seguinte forma:
Para tocar o arquivo de MIDI podemos fazer da seguinte forma:
play_midi(somFundo,TRUE);
O segundo argumento é do tipo boleano (Verdadeiro, Falso) que indica se o som deve entrar em looping ou não.
Se o argumento for FALSE quando se a música chegar ao final não será mais tocada.
No exemplo acima se o som chegar no final ele toca novamente.
Em qualquer momento podemos parar de tocar no som de fundo com apenas um dos comandos abaixo:
stop_midi();
ou play_midi(NULL, FALSE);
Como podemos ver acima é extremamente simples executar um arquivo de som do tipo MIDI no Allegro.
ARQUIVOS DO TIPO SAMPLE (WAV)
Da mesma forma que os MIDIs, os SAMPLES possuem seu próprio tipo.
No entanto, ao contrário de arquivos MIDIs, eles são usados para efeitos sonoros dos personagens ou de cenários.
Se quisermos declarar e carregar um arquivo SAMPLE, podemos fazê-lo da seguinte forma:
Para tocar o arquivo de SAMPLE podemos fazer da seguinte forma:
play_sample(somTiro, 255, 128, 1000, FALSE );
A função para tocar o SAMPLE possui vários argumentos. São eles:
255 – Esse argumento indica o volume do som.
Nesse caso está no máximo. O valor varia de 0 a 255.
128 – Esse argumento indica o balanço do som.
O valor vai se 0 a 255.
VOCÊ PRECISA
SABER...
128 quer dizer que o som estará dividido igual tanto para o lado direito da caixa de som quanto para o lado esquerdo.
1000 – Esse argumento indica e freqüência que o som será tocado.
Você pode mudar esse valor de acordo com o efeito que você achar bom.
Ou use 1000 para freqüência normal, 500 para metade da freqüência ou 2000 para o dobro da freqüência.
FALSE – Esse argumento indica se o som será tocado em loop depois que chegar ao fim.
Nesse caso, como o valor é FALSE, ele toca apenas uma vez e para.
Abaixo segue um código exemplificando onde e como utilizar as funções para execução dos efeitos sonoros.
while (!key[KEY_ESC])
{
if (buffer_teclado == 0)
{
if (key[KEY_SPACE])
{ play_sample(somTiro,255,128,1000,FALSE);
buffer_teclado=30;
}
}else buffer_teclado--;
vsync();
} stop_midi();
delete somFundo;
delete somTiro;
allegro_exit();
return 0;
}
END_OF_MAIN();
FIM DE CÓDIGO
Podemos notar que é muito simples utilizar as funções do Allegro para tocar sons e tornar nosso jogo muito mais dinâmico.
Para a execução do código acima você precisa de um arquivo MIDI chamado somfundo.mid e um arquivo de WAV chamado somtiro.wav.
Ambos precisam estar dentro da pasta do seu projeto.
Caro leitor chegamos ao fim do entendimento e utilização das funções responsáveis pelos efeitos sonoros de um jogo usando a biblioteca Allegro.
Se houver alguma dúvida ou dificuldade favor entrar em contato com os membros da BDJogos pelo Forum.
01/06/2007 (C) Copyright. Todos os Direitos Reservados. Leia a política de privacidade do portal.
É proibida a cópia de conteúdo deste site de acordo com
a Lei Brasileira de Direitos Autorais.