ACA LES DEJO UN CODIGO SUPER SENCILLO, PARA ESAS PERSONAS QUE NECESITAN UNA AYUDITA DE CODIFICANDO
DESCRIPCION: este codigo es un reproductor de sonido que evita colapsar los canales de sonido del juego que esta desarrollando, es conveniente cuando queremos que algunos de nuestros procesos no reproduzcan sonidos mientras no sean visibles en la pantalla
function play_in_screen(reg,sound,channel,vol,reps)
begin
if(!region_out(father,reg))
if(channel!=0)
stop_wav(channel);
end
if(!is_playing_wav(sound))
set_wav_volume(sound,vol);
channel = play_wav(sound,reps);
end
end
end
reg: region en la que esta siendo pintado el proceso
sound: handle del sonido cargado con load_wav
channel: canal en el que el sonido esta siendo ejecutado (normalmente capturado con play_wav
vol: volumen de reproduccion del sonido
reps: repeticiones del sonido
gracias por compartir.
se me ocurre podrias tambien hacer otro que vaya modificando el volumen en base de la distancia desde un punto x,y.
Eso sería sencillo mediante:
http://wiki.bennugd.org/index.php?title=Set_position
http://wiki.bennugd.org/index.php?title=Set_panning
:D :D :D
Quote from: Drumpi on July 10, 2016, 05:24:29 PM
Eso sería sencillo mediante:
http://wiki.bennugd.org/index.php?title=Set_position
http://wiki.bennugd.org/index.php?title=Set_panning
:D :D :D
exacto, pero a aportar codigos!
Quote from: SplinterGU on July 10, 2016, 07:30:05 PM
Quote from: Drumpi on July 10, 2016, 05:24:29 PM
Eso sería sencillo mediante:
http://wiki.bennugd.org/index.php?title=Set_position (http://wiki.bennugd.org/index.php?title=Set_position)
http://wiki.bennugd.org/index.php?title=Set_panning (http://wiki.bennugd.org/index.php?title=Set_panning)
:D :D :D
exacto, pero a aportar codigos!
Oye super! me pondre en ello!!
Bueno, en uno de mis esporádicos paseos por el foro (que os tengo abandonaos ::) ) me metí a este hilo y me vine a contestar con alegría, y ahora veo que es de hace meses y meses ^_^u
Pero como nunca es tarde si la pdicha es buena aporto mi código para situar los sonidos en estéreo según posición horizontal:
function sonidoX(int wv,x,y)
private l,r, sonido;
begin
sonido=play_wav(wv,0);
r = abs((x*255)/320);
if(r>255) r = 255; end
l = 255-r;
set_panning(sonido, l, r);
return(sonido);
end
Siempre se le puede añadir mas parámetros como volumen del sonido, repeticiones, etc, y hacer algo quizá también con la coordenada y.
También están las funciones set_position (http://wiki.bennugd.org/index.php?title=Set_position) y set_distance (http://wiki.bennugd.org/index.php?title=Set_distance), aunque nunca me las he mirado mucho y no se bien como funcionan.