Bennu Game Development

Foros en Español => Recursos => Mensaje iniciado por: fulgorelizz en Julio 09, 2016, 02:09:51 pm

Título: CODIGOS DE AYUDITA
Publicado por: fulgorelizz en Julio 09, 2016, 02:09:51 pm
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
Código: [Seleccionar]
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

Título: Re:CODIGOS DE AYUDITA
Publicado por: SplinterGU en Julio 09, 2016, 03:58:39 pm
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.
Título: Re:CODIGOS DE AYUDITA
Publicado por: Drumpi en Julio 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
Título: Re:CODIGOS DE AYUDITA
Publicado por: SplinterGU en Julio 10, 2016, 07:30:05 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!
Título: Re:CODIGOS DE AYUDITA
Publicado por: fulgorelizz en Julio 11, 2016, 09:34:20 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!!
Título: Re:CODIGOS DE AYUDITA
Publicado por: La momia que fuma en Enero 18, 2017, 03:34:22 pm
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:


Código: [Seleccionar]
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.