CODIGOS DE AYUDITA

Started by fulgorelizz, July 09, 2016, 02:09:51 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

fulgorelizz

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

Compiling code -- generating exe...

SplinterGU

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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

fulgorelizz

Compiling code -- generating exe...

La momia que fuma

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 y set_distance, aunque nunca me las he mirado mucho y no se bien como funcionan.