Conheça a iniciativa da Biblioteca dos Desenvolvedores  
Índice da Biblioteca  
Área dos Usuários  
Fórum de Discussão  
Forúm
 
  Compactando sons em um arquivo .DAT com Grabber

Da mesma forma que podemos compactar imagens e fontes em um arquivo de dados é muito interessante compactar os efeitos sonoros de um jogo em apenas um arquivo de dados. Esse tutorial vai mostrar como fazer isso usando novamente o programa Grabber.

Para seguir o tutorial você precisa de pelo menos um arquivo de som do tipo MIDI e um arquivo de som do tipo SAMPLE (WAV ).
Em seguida execute o programa Grabber e siga os passos abaixo.


1) Clique com o botão direito do mouse no <root> e escolha a opção MIDI file.


2) Clique com o botão direito do mouse no <root> e escolha a opção SAMPLE.


3) Após colocar na lista um arquivo do tipo MIDI e um arquivo do tipo SAMPLE é necessário associar ao arquivo clicando com o botão direito em cima do nome e escolhendo a opção Grab.

Se preferir use a tecla de atalho Ctrl+G.

4) Em seguida clique no menu File->Save  e salve o arquivo com o nome de “sons.dat” na mesma pasta que o seu projeto de jogo.

Não irei explicar as funções referente a execução dos sons porque já foi feito em anteriormente em outro artigo.

Abaixo segue o código para abrir o arquivo de dados e tocar os sons.



CÓDIGO...

#include <allegro.h>

int main()
{
   allegro_init();
   install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, NULL);
   set_color_depth(32);
   install_keyboard();
   set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);

   DATAFILE *datSons = NULL;
   datSons = load_datafile("sons.dat");


   int buffer_teclado = 0;

   play_midi((MIDI *)datSons[0].dat,TRUE);
   while (!key[KEY_ESC])
   {
      if (buffer_teclado == 0)
      {
         if (key[KEY_SPACE])
         {
            play_sample((SAMPLE *)datSons[1].dat, 255, 128, 1000, FALSE );
            buffer_teclado=30;
         }
      }else buffer_teclado--;
      vsync();
   }
   stop_midi();
   unload_datafile(datSons);

   allegro_exit();
   return 0;
}
END_OF_MAIN();


FIM DE CÓDIGO

Se você preferir colocar arquivos de imagens, sons e fontes em apenas um arquivo de dados também é possível.

Note que antes de chamar o som é necessário converter explicitamente o arquivo para SAMPLE  ou MIDI com seus respectivos comandos (SAMPLE *) ou (MIDI *). Isso acontece da mesma forma que precisamos acessar fontes e imagens, (FONT *) e (BITMAP *).

Caro leitor chegamos ao fim do entendimento e utilização dos efeitos sonoros através de um arquivo de dados. Se houver alguma dúvida ou dificuldade favor entrar em contato com os membros da BDJogos pelo Forum.

Abraço
BDJogos



Contribuidor
Bruno A. Rovela
25/09/2007

Voltar

 
 

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.