Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: DarkKRuleR en Marzo 30, 2010, 06:07:22 PM

Título: [Solucionado] Sound_global_volume
Publicado por: DarkKRuleR en Marzo 30, 2010, 06:07:22 PM
Holas, pues una duda un poco noob xD sound_global_volume hace que todo el sonido cambie a fuerte en 1 y flojo en 0. SI quiero cancelar todo el sonido? Facil, a -1 quizas, pues no sirve. Como cancelo todo el sonido? Osea, yo pulso O para cambiar una variable a true o false, y quiero que si es false todo el sonido global se cancele. Pero no sound_stop_all, porque los sonidos que ya estaban sonando como la musica debe volver a seguir sonando despues, solo quiero cancelar el volumen global del sonido, pero al ponerlo en -1 no funciona!  :o
Título: Re: Sound_global_volume
Publicado por: Texic en Marzo 30, 2010, 08:11:36 PM
El valor varia entre 0 y 1, en 0 deberia estar apagado el sonido
Título: Re: Sound_global_volume
Publicado por: DarkKRuleR en Marzo 30, 2010, 10:51:39 PM
por lo que he leido 0 es volumen bajo y 1 alto (si, una tonteria, seria mejor 0 nada, 1 normal y decimales para alternar bajo y alto, pero asi esi)
lo he comprobado y si, 0 es bajo, no se quien invento hacerlo asi. y -1 no hace nada  :'( pero recomprobare aver..
Título: Re: Sound_global_volume
Publicado por: soccer2008 en Marzo 31, 2010, 10:03:17 PM
xq mejor no usas una dll para los sonidos, en la secci?n descargas hay varios XD XD XD
Título: Re: Sound_global_volume
Publicado por: Hackware en Marzo 31, 2010, 10:22:47 PM
Pues a mi en 0 me lo deja mudo. :-[

Te tengo una soluci?n alternativa. En el evento en que presionas 'O' escribes este pedazo de c?digo:

show_message('El creador del juego necesita que apagues tus altavoces, mejor hazle caso a menos que quieras perder una vida.');

?Y funciona! XD
Título: Re: Sound_global_volume
Publicado por: DarkKRuleR en Abril 01, 2010, 08:08:00 PM
Cita de: Hackware en Marzo 31, 2010, 10:22:47 PM
Pues a mi en 0 me lo deja mudo. :-[

Te tengo una soluci?n alternativa. En el evento en que presionas 'O' escribes este pedazo de c?digo:

show_message('El creador del juego necesita que apagues tus altavoces, mejor hazle caso a menos que quieras perder una vida.');

?Y funciona! XD

xDDDD!!

yo tengo esto puesto en keyboard press O

if global.sound=true {global.sound=false; exit;}
if global.sound=false {global.sound=true; exit;}

y funciona, porque un simbolito me dibuja cuando esta off y cuando on
y en step pongo:

//las musicas suenan mas, claro
if global.sound=true {
sound_global_volume(0.6);
sound_volume(global.music_escape,1);
sound_volume(global.music_forest,1);
sound_volume(global.music_temple,1);
sound_volume(global.music_boss,1);
sound_volume(global.music_bossfinal,1);
sound_volume(global.music_credits,1);
}

if global.sound=false {sound_global_volume(0);}

con eso hago que las musicas suenen a tope y los demas sonidos un poco mas flojo, si esta activado. con sonido desactivado pongo todas las musicas a 0. pero no funciona.

Pero me he dado cuenta que si pongo sound_global_volume(0) en debug, al volver al juego el sonido se quita una milesima de segundo y vuelve. creo que quizas por otra parte o otro objeto repongo el sonido a 1, pero no creo. mirare aver si encuentro algo asi. antes lo tenia en -1, he puesto asi pero tampoco funciona. creo que pasa lo que dije antes...

dll? solo quiero silenciar el sonido sin complicaciones xD y ya existe una funcion para eso, el fallo es mio y seguro facilmente solucionable, si se encuentra
Título: Re: Sound_global_volume
Publicado por: soccer2008 en Abril 02, 2010, 12:19:46 AM
Simplemente usa esto si quieres silenciarlo, nada m?s XD XD XD


if(sound_isplaying("sonido"))
{ //si est? sonando dicha canci?n
}
if global.sound=false {sound_stop(global.sound);
}
Título: Re: Sound_global_volume
Publicado por: DarkKRuleR en Abril 10, 2010, 05:46:20 PM
soccer, ahi estariamos en las mismas, al reanudar el sonido la musica no sonaria porque se habria parado... solo quiero sound_global_volume

bueno, no hago mas que mirarlo pero nada, esta correcto y no va... tengo que seguir mirandolo, aaaalgo falla...

edit- vale, casi descubierto. puse esto en el step

if global.sound=false {sound_global_volume(0);
sound_volume(global.music_escape,0);
sound_volume(global.music_forest,0);
sound_volume(global.music_temple,0);
sound_volume(global.music_boss,0);
sound_volume(global.music_bossfinal,0);
sound_volume(global.music_credits,0);}

y bien, silencia las musicas... que son en MIDI!! EL fallo esta en que No silencia las musicas en MP3... y el sound_global_volume no silencia ningun sonido (estan en WAV). Es raro, que le pasa? antes ni silenciaba las musicas en MIDI, ahora que silencio cada musica una a una, silencia solo mas midis, es muy raro, que el formato influye en que no se puedan silenciar?  :o
Título: Re: Sound_global_volume
Publicado por: soccer2008 en Abril 12, 2010, 01:43:25 PM
pues hay una dll para controlar el volumen de las canciones, aqui te dejo el ejemplo XD XD XD
Título: Re: Sound_global_volume
Publicado por: Wadk en Abril 12, 2010, 09:22:16 PM
Podr?as hacer como hago, yo un script corte as?:
Código (sonido) [Seleccionar]
//sonido(id,loop);
if(argument1)&&(global.musica){
   sound_loop(argument0);
}else
if(global.sonido){
   sound_play(argument0);
}

Y as?, si la m?sica est? desactivada, esta directamente no se reproduce en primer lugar. Lo mismo con los sonidos.
Y por cierto, esto:
if global.sound=true {global.sound=false; exit;}
if global.sound=false {global.sound=true; exit;}

se puede optimizar:
global.sound=!global.sound;
Título: Re: Sound_global_volume
Publicado por: soccer2008 en Abril 13, 2010, 12:21:47 AM
Cita de: Wadk en Abril 12, 2010, 09:22:16 PM
Podr?as hacer como hago, yo un script corte as?:
Código (sonido) [Seleccionar]
//sonido(id,loop);
if(argument1)&&(global.musica){
   sound_loop(argument0);
}else
if(global.sonido){
   sound_play(argument0);
}

Y as?, si la m?sica est? desactivada, esta directamente no se reproduce en primer lugar. Lo mismo con los sonidos.
Y por cierto, esto:
if global.sound=true {global.sound=false; exit;}
if global.sound=false {global.sound=true; exit;}

se puede optimizar:
global.sound=!global.sound;

Lo veo muy interesante el c?digo de Wadk, aunque en mi ejemplo est? mucho m?s sencillo de implementar y sirve para varios formatos de audio XD XD XD
Título: Re: Sound_global_volume
Publicado por: DarkKRuleR en Abril 16, 2010, 04:07:07 PM
mm no entiendo tu code... me silenciaria los sonidos? osea, yo ya tengo los sonidos reproduciendose, el problema esta en que tengo que hacer sound_global_volume y sound_volume, pero, dependiendo del formato del sonido o musica, este code no sirve!
comprob? que las MIDI s? las silencia, pero no los sonidos WAV ni las musicas MP3 (con sound_global_volume o sound_volume), y la cosa es porque no los silencia... es el formato, pero alguna manera habra...

soccer, mmm el script y la dll cambian bien el volumen... iria con MP3? pero eso se ve algo liado para lo que quiero hacer, silenciar todos los sonidos solo... y al reponerlos, claro, pondria todos los sonidos volumen a 0.6 y determinados sonidos a 1 de volumen... eso lo veo lioso  :-\ gracias por contestar  :)
Título: Re: Sound_global_volume
Publicado por: soccer2008 en Abril 16, 2010, 05:54:26 PM
con un script puedes controlar la cantidad de canciones con un parametro definido y de esta manera podeies aplicar a todas las canciones...formatos soportados: MP3, WAV,midi y otros...

Detallame m?s tu problema para adecuar el ejemplo para lo q necesitas...quieres silenciar varios sonidos a la vez??? quieres silenciar un sonido secuencialmente y volverle a subir el volumen???

saludos XD XD XD
Título: Re: Sound_global_volume
Publicado por: DarkKRuleR en Abril 16, 2010, 06:24:40 PM
Si, yo tengo 6 musicas y muchos sonidos. Si la variable es false, hago sound_global_volume(0), todas fuera. Si es true, pongo PRIMERO sound_global_volume(0.6) y luego sound_volume(1) para seis musicas. asi todos los sonidos tienen volumen normal y las musicas se oyen mas fuerte...
Título: Re: Sound_global_volume
Publicado por: Wadk en Abril 16, 2010, 07:14:42 PM
Mi c?digo es un script (llamado "sondo" o como quieras) que ten?s que llamar siempre que quieras reproducir un sonido o una canci?n en lugar de sound_play y sound_loop. El script autom?ticamente chequea las variables global.musica y global.sonido para decidir si reproducir o no el sonido. El primero es el id del sonido y el segundo es 0 para una vez y 1 para loop.