Sonic Game Maker
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar
Últimos assuntos
SONIC ADVENTURE 3Sáb 13 Jan - 13:50:03KellyaneFELIZ NATAL 2023Seg 25 Dez - 12:48:36Divin Sphere HiroshaiErro ao Abrir ProjetoTer 25 Jul - 8:44:49Ian LagesJá fazem 10 anos...Qua 3 maio - 12:21:59Divin Sphere HiroshaiFeliz Natal 2022Qua 11 Jan - 21:41:47Ian LagesTOUCH - AndroidSex 21 Out - 21:40:23Divin Sphere HiroshaiA volta de nat-frutoSex 12 Ago - 11:24:58Divin Sphere HiroshaiDiscord Game MakerDom 9 Jan - 23:16:01Nest_DJ.EXtremeHAPPY NEW YEAR 2022Sáb 1 Jan - 20:27:23Divin Sphere HiroshaiDoIt - Jogo AndroidSáb 1 Jan - 20:22:31Divin Sphere HiroshaiFELIZ NATAL 2021Sáb 25 Dez - 23:43:15Divin Sphere Hiroshaiefraim leonardo quadrinhos do sonicSeg 22 Nov - 8:48:52FizContaSóPraIsso[11/2021] Atualizações Importantes de SegurançaDom 7 Nov - 23:41:23Lago Roxoum post interessanteTer 27 Jul - 17:10:45Divin Sphere HiroshaiBring The Block - AndroidSáb 17 Abr - 15:31:53Divin Sphere Hiroshai

Ir para baixo
Taigo Toushirou
Taigo Toushirou
Adiministrador
Mensagens : 1598
Reputação : 10
Data de inscrição : 25/08/2011
Idade : 31
Masculino
Localização : Salvador Bahia
http://veloxzone2.blogspot.com/

Rodando musicas e sons em uma pasta externa Empty Rodando musicas e sons em uma pasta externa

Ter 17 Abr - 0:33:58
Bem bem... Eu sou do tipo que gosta de trabalhar com programações mais avançadas e esse tutorial não é nada de nível médio ou básico é um avançado do qual você pode fazer um jogo longo e que não fique tão pesado para executar mais sim em tamanho de arquivo mas vamos continuar mantendo a velocidade do jogo em alta com esse tutorial.

Certamente iremos usar uma dll para fazer tal ação, pode ser a supersound? Sim pode é ela mesma que vamos usar! XD

Ok primeiro vamos para os códigos em scripts pois eles serão os ativadores da dll na pasta externa de sua engine!

Em script:
Da o nome de SS_Init

Código:


global.dll_SS_Init = external_define(
  "supersound.dll",
  "SS_Init",
  dll_stdcall,
  ty_string,
  0);

global.dll_SS_LoadSound = external_define(
  "supersound.dll",
  "SS_LoadSound",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_PlaySound = external_define(
  "supersound.dll",
  "SS_PlaySound",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_LoopSound = external_define(
  "supersound.dll",
  "SS_LoopSound",
  dll_stdcall,
  ty_string,
  1,
  ty_string);


global.dll_SS_StopSound = external_define(
  "supersound.dll",
  "SS_StopSound",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_SetSoundFreq = external_define(
  "supersound.dll",
  "SS_SetSoundFreq",
  dll_stdcall,
  ty_string,
  2,
  ty_string,
  ty_string);

global.dll_SS_SetSoundPan = external_define(
  "supersound.dll",
  "SS_SetSoundPan",
  dll_stdcall,
  ty_string,
  2,
  ty_string,
  ty_string);

global.dll_SS_SetSoundVol = external_define(
  "supersound.dll",
  "SS_SetSoundVol",
  dll_stdcall,
  ty_string,
  2,
  ty_string,
  ty_string);

global.dll_SS_FreeSound = external_define(
  "supersound.dll",
  "SS_FreeSound",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_IsSoundPlaying = external_define(
  "supersound.dll",
  "SS_IsSoundPlaying",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_GetSoundPosition = external_define(
  "supersound.dll",
  "SS_GetSoundPosition",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_SetSoundPosition = external_define(
  "supersound.dll",
  "SS_SetSoundPosition",
  dll_stdcall,
  ty_string,
  2,
  ty_string,
  ty_string);

global.dll_SS_GetSoundLength = external_define(
  "supersound.dll",
  "SS_GetSoundLength",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_GetSoundVol = external_define(
  "supersound.dll",
  "SS_GetSoundVol",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_GetSoundFreq = external_define(
  "supersound.dll",
  "SS_GetSoundFreq",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_GetSoundPan = external_define(
  "supersound.dll",
  "SS_GetSoundPan",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_IsSoundLooping = external_define(
  "supersound.dll",
  "SS_IsSoundLooping",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_IsSoundPaused = external_define(
  "supersound.dll",
  "SS_IsSoundPaused",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_ResumeSound = external_define(
  "supersound.dll",
  "SS_ResumeSound",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

global.dll_SS_PauseSound = external_define(
  "supersound.dll",
  "SS_PauseSound",
  dll_stdcall,
  ty_string,
  1,
  ty_string);

//


if external_call(global.dll_SS_Init) = "No" then begin
  show_error("Initialization of the sound system failed!",0);
end;

Da o nome de SS_LoadSound

Código:
if is_real(argument0) then return "0"
return external_call(global.dll_SS_LoadSound,argument0);

Da o nome de SS_PlaySound

Código:
if is_real(argument0) then return "0"
return external_call(global.dll_SS_PlaySound,argument0);

Da o nome de SS_LoopSound

Código:
if is_real(argument0) then return "0"
return external_call(global.dll_SS_LoopSound,argument0);

Da o nome de SS_StopSound

Código:
if is_real(argument0) then return "0"
return external_call(global.dll_SS_StopSound,argument0);

Da o nome de SS_IsSoundPlaying

Código:
if is_real(argument0) then return -1;
return real(external_call(global.dll_SS_IsSoundPlaying,argument0));

Da o nome de SS_IsSoundLooping

Código:
if is_real(argument0) then return -1;
return real(external_call(global.dll_SS_IsSoundLooping,argument0));


Nessa ordem!
Rodando musicas e sons em uma pasta externa QwAAANRlf6MMq5AAvIWIqEJyzTGD0-1yfoLYZ6OjxYYk_OIqAghUdfOfEhqv_0O3D0EH9mwkwMuD32iB1nHCfLYv6v_AluPb5-34GxIZuNYcER7-AJtU9VAxSGCjSQMHna-HBdQx5LyMtdPitg

Depois disso agora é só criar um objeto para rodar esses sons na pasta externa!

Cria um objeto com qualquer nome e no create coloca isso aqui:
Play sound
Código:
SS_Init()
Musica = SS_LoadSound('JUMP.wav') // um diretório para achar o som na pasta externa de seu jogo
SS_PlaySound(Musica)// para dar um play caso for um efeito sonoro

Loop sound
Código:
SS_Init()
Musica = SS_LoadSound('JUMP.wav') // um diretório para achar o som na pasta externa de seu jogo
SS_LoopSound(Musica)// para ficar repetindo a musica quando acabar

Stop
Código:
SS_StopSound(Musica)

Se eu não estiver enganado é tudo assim mesmo que funciona! Eu acho! O_O

Download da dll:
Supersound dll
Download da engine no blog velox zone:
Download

A dll deve estar na mesma pasta do jogo os sons também caso queira criar uma pasta para deixar tudo mais organizado é só colocar no diretório que vai procurar o som, por exemplo:
Pasta_sounds_WAV/sound_1.wav
Assim fica mais organizado os arquivos externos de seu jogo.
Ela também roda mp3 e ogg se for usar um desses formatos é só por no diretório nome do arquivo mais extensão!
Se tiverem problemas me falem para eu corrigir o erro!

Eu editei a postagem achei um erro que fiz aqui mais agora ta tudo certo!


Última edição por Taigo Toushirou em Ter 17 Abr - 10:31:35, editado 3 vez(es)
Sonic Luan
Sonic Luan
Mensagens : 2678
Reputação : 19
Data de inscrição : 06/06/2011
Idade : 24
Masculino
Localização : Casa
https://sonicmaker.forumeiros.com

Rodando musicas e sons em uma pasta externa Empty Re: Rodando musicas e sons em uma pasta externa

Ter 17 Abr - 11:35:43
Da esse erro


___________________________________________
ERROR in
action number 1
of Create Event
for object objMusica:

Error defining an external function.
Taigo Toushirou
Taigo Toushirou
Adiministrador
Mensagens : 1598
Reputação : 10
Data de inscrição : 25/08/2011
Idade : 31
Masculino
Localização : Salvador Bahia
http://veloxzone2.blogspot.com/

Rodando musicas e sons em uma pasta externa Empty Re: Rodando musicas e sons em uma pasta externa

Ter 17 Abr - 12:18:33
É só checar se estar tudo em seus lugares códigos scripts, ver se a dll estar na sua devida pasta junto com a engine e a musica no formato wav ou ogg.
Julio The Fox
Julio The Fox
Mensagens : 839
Reputação : 2
Data de inscrição : 04/09/2011
Idade : 27
Masculino
Localização : Vaco do tempo espaço perdido.

Rodando musicas e sons em uma pasta externa Empty Re: Rodando musicas e sons em uma pasta externa

Ter 17 Abr - 19:53:37
Eu ia tentar fazer isso no meu jogo, mas já vi que não vou conseguir, por se tratar de um tuto avançado.

E não quero melecar a engine toda Razz.

Mas tentei isso numa outra engine, e fiquei numa dúvida:

Tenho que fazer um objeto pra tocar cada som do jogo ou com um dá pra tocar todos??
Sonic Luan
Sonic Luan
Mensagens : 2678
Reputação : 19
Data de inscrição : 06/06/2011
Idade : 24
Masculino
Localização : Casa
https://sonicmaker.forumeiros.com

Rodando musicas e sons em uma pasta externa Empty Re: Rodando musicas e sons em uma pasta externa

Ter 17 Abr - 19:55:29
ah consegui valeu Taigo
Taigo Toushirou
Taigo Toushirou
Adiministrador
Mensagens : 1598
Reputação : 10
Data de inscrição : 25/08/2011
Idade : 31
Masculino
Localização : Salvador Bahia
http://veloxzone2.blogspot.com/

Rodando musicas e sons em uma pasta externa Empty Re: Rodando musicas e sons em uma pasta externa

Qua 18 Abr - 2:50:22
Julio The Fox escreveu:Eu ia tentar fazer isso no meu jogo, mas já vi que não vou conseguir, por se tratar de um tuto avançado.

E não quero melecar a engine toda Razz.

Mas tentei isso numa outra engine, e fiquei numa dúvida:

Tenho que fazer um objeto pra tocar cada som do jogo ou com um dá pra tocar todos??

Com apenas um você pode fazer isso! olha a enigne que fiz para tira todas as suas duvidas e saber como colocar em seu jogo.
CompleTH
CompleTH
Mensagens : 332
Reputação : 11
Data de inscrição : 17/12/2011
Masculino

Rodando musicas e sons em uma pasta externa Empty Re: Rodando musicas e sons em uma pasta externa

Sáb 21 Abr - 12:58:17
+10 Rings pelo tutorial, Bem feito e muito simples Very Happy
Sonic Luan
Sonic Luan
Mensagens : 2678
Reputação : 19
Data de inscrição : 06/06/2011
Idade : 24
Masculino
Localização : Casa
https://sonicmaker.forumeiros.com

Rodando musicas e sons em uma pasta externa Empty Re: Rodando musicas e sons em uma pasta externa

Sáb 21 Abr - 13:02:35
Nossa eu tinha esquecido de dar os rings '-'
Taigo Toushirou
Taigo Toushirou
Adiministrador
Mensagens : 1598
Reputação : 10
Data de inscrição : 25/08/2011
Idade : 31
Masculino
Localização : Salvador Bahia
http://veloxzone2.blogspot.com/

Rodando musicas e sons em uma pasta externa Empty Re: Rodando musicas e sons em uma pasta externa

Sáb 21 Abr - 13:23:59
XD ainda bem que o comple lembro! (Não falei nada sobre os rings de proposito, só para ver até onde isso iria!)
Conteúdo patrocinado

Rodando musicas e sons em uma pasta externa Empty Re: Rodando musicas e sons em uma pasta externa

Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos