Bennu Game Development

Foros en Español => Recursos => Topic started by: fulgorelizz on July 09, 2016, 02:09:51 PM

Title: CODIGOS DE AYUDITA
Post by: fulgorelizz on July 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

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

Title: Re:CODIGOS DE AYUDITA
Post by: SplinterGU on July 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.
Title: Re:CODIGOS DE AYUDITA
Post by: 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
Title: Re:CODIGOS DE AYUDITA
Post by: 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_panning
:D :D :D

exacto, pero a aportar codigos!
Title: Re:CODIGOS DE AYUDITA
Post by: fulgorelizz on July 11, 2016, 09:34:20 PM
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!!
Title: Re:CODIGOS DE AYUDITA
Post by: La momia que fuma on January 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:


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.