Ir ao conteúdo

Posts recomendados

Postado

Oi pessoal!

 

Então, eu estou fazendo um text-based em C++ junto com uns amigos, e a gente decidiu colocar uma música de fundo no jogo, além de uns outros efeitos sonoros, como um tiro por exemplo.

 

Nós conseguimos colocar os sons, mas há algo que ainda atrapalha um pouco...

 

Para o som ser reproduzido, é necessário que ele esteja na mesma pasta que o EXE. Até aí tudo bem, mas o problema é que nós queremos colocar vários sons, e por isso, pode acabar ficando bem zoado, uma pasta com uns 20 arquivos de som e o EXE perdido lá no meio...

 

Então eu pensei: "Será que tem alguma maneira de compilar os arquivos de som junto com o EXE, e transformar tudo num só?" Eu acho que isso deve ser possível, porque eu já vi alguns games que eram só um arquivo executável, e tinha todo o resto compactado junto com ele. Eu estou usando o Code::Blocks, e eu achei uma função nele que é a seguinte:

 

Você clica em Project > Add files..., e depois adiciona algum arquivo no projeto. Eu fiz isso com um arquivo de som, mas ele não ficou junto com o EXE, depois eu tentei mudar algo nas opções dele pelo Code::Blocks. Eu fui até onde ele estava, cliquei com o botão direito >  Options > Compile file. Eu achei que isso fosse compilar ele junto, mas não houve nenhum resultado.

 

Se alguém souber como fazer isso, por favor, me ajuda aí!

 

Desde já agradeço.

Postado

Você pode copiar os bytes do arquivo que deseja e depois salvar em um Array, qualquer editor Hexadecimal pode lhe ajudar com isto.

 

Depois crie um arquivo com a biblioteca padrão de C com o nome e extensão que desejar e reproduza da maneira que já vem fazendo.

  • Curtir 1
Postado

Se você incluir a pasta da musica, não iria resolver tal problema, exemplo, "Musicas/musica01.mp3", etc...

 

Uma ideia é que você poderia criar um leitor, ou interpretador de texto, que no caso, abre um include que adiciona as musicas automaticamente, como um leitor XML.

Já criei vários desses interpretadores, também já vi em vários jogos, e ajudam muito, mas pra XML ja existe um interpretador padrão.

Exemplo de interpretador:

P.S: Pra não confundir, pense como um arquivo de configuração.

 

No seu jogo, você tem um #define que leva ao include das musicas, como:

#define INCLUDE_MUSICAS "Musicas/include.txt"

Nesse include.txt, há todos caminhos das musicas, e ainda podendo ser adicionado um id, ai no caso se quiser personalizar a busca da musica no futuro, sabendo qual musica você quer tocar.

Dentro do include.txt:

//Lembrando que o .exe abre a partir de sua localização, e não de fundo/tiro, por isso coloquei Musicas
//Mesmo que o include esteja em Musicas.
//id,"caminho"
MusicaInicialFundo,"Musicas/fundo/001.mp3"
MusicaTiro,"Musicas/tiro/001.mp3"

Ai esses valores, como id, e caminho, poderiam ser armazenados em uma struct, linha p/ linha, a fim de manter organização, sendo o banco de dados das musicas.

 

Pode parecer complicado, mas em poucos dias já terminaria, enfim, existe muitos modos de resolver.

Qualquer duvida, pode falar :D 

 

 

  • Curtir 2
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!