Comunidad Game Maker

Ayuda => Desarrollo de Scripts => Mensaje iniciado por: Mr.Dudas en Diciembre 08, 2012, 02:15:41 PM

Título: Crear tono con game maker 8
Publicado por: Mr.Dudas en Diciembre 08, 2012, 02:15:41 PM
Autor:Yo(Mr.Dudas) y dannyjeen
Descripción:Es un sencillo script que genera un tono a través de otro script(el archivo lo he adjuntado)
Versión GM utilizada: :GM8:
Códigos del Script:
/*
   crear_tono(argument0,argument1,argument2,argument3)
   argument0 - frecuencia (Hz)
   argument1 - amplitud (0 a 1)
   argument2 - duración (segundos)
   argument3 - nombre del tono (para guardar el tono)
*/
var archivo, tempfile, i, subsize, size;
archivo = file_bin_open(argument3,1);
file_bin_write_byte(archivo,$52);
file_bin_write_byte(archivo,$49);
file_bin_write_byte(archivo,$46);
file_bin_write_byte(archivo,$46);
file_bin_write_byte(archivo,$00);
file_bin_write_byte(archivo,$00);
file_bin_write_byte(archivo,$00);
file_bin_write_byte(archivo,$00);
file_bin_write_byte(archivo,$57);
file_bin_write_byte(archivo,$41);
file_bin_write_byte(archivo,$56);
file_bin_write_byte(archivo,$45);
file_bin_write_byte(archivo,$66);
file_bin_write_byte(archivo,$6D);
file_bin_write_byte(archivo,$74);
file_bin_write_byte(archivo,$20);
file_bin_write_byte(archivo,$10);
file_bin_write_byte(archivo,$0);
file_bin_write_byte(archivo,$0);
file_bin_write_byte(archivo,$0);
file_bin_write_byte(archivo,$1);
file_bin_write_byte(archivo,$0);
file_bin_write_byte(archivo,$1);
file_bin_write_byte(archivo,$0);
file_bin_write_byte(archivo,$44);
file_bin_write_byte(archivo,$AC);
file_bin_write_byte(archivo,$0);
file_bin_write_byte(archivo,$0);
file_bin_write_byte(archivo,$88);
file_bin_write_byte(archivo,$58);
file_bin_write_byte(archivo,$1);
file_bin_write_byte(archivo,$0);
file_bin_write_byte(archivo,$2);
file_bin_write_byte(archivo,$0);
file_bin_write_byte(archivo,$10);
file_bin_write_byte(archivo,$0);
file_bin_write_byte(archivo,$64);
file_bin_write_byte(archivo,$61);
file_bin_write_byte(archivo,$74);
file_bin_write_byte(archivo,$61);
file_bin_write_byte(archivo,$00);
file_bin_write_byte(archivo,$00);
file_bin_write_byte(archivo,$00);
file_bin_write_byte(archivo,$00);
i = 0;
repeat(argument2*$AC44){
    tempfile = ($FFFF*argument1)*sin((6.28318530717959*(i/$AC44))*argument0) div 2;
    if(tempfile<0){
        tempfile = tempfile+$FFFF;
    }
    file_bin_write_byte(archivo,tempfile&$FF);
    file_bin_write_byte(archivo,tempfile>>8);
    i+=1;
}
subsize = i*2;
size = 36 + subsize;
file_bin_seek(archivo,4);
file_bin_write_byte(archivo,size&$FF);
file_bin_write_byte(archivo,(size>>8)&$FF);
file_bin_write_byte(archivo,(size>>16)&
$FF);
file_bin_write_byte(archivo,size>>24);
file_bin_seek(archivo,40);
file_bin_write_byte(archivo,subsize&$FF);

file_bin_write_byte(archivo,(subsize>>8)&
$FF);
file_bin_write_byte(archivo,(subsize>>16)&
$FF);
file_bin_write_byte(archivo,subsize>>24);
file_bin_close(archivo);

Título: Re:Crear tono con game maker 8
Publicado por: romon_28 en Diciembre 29, 2012, 05:41:24 AM
Como hiciste eso?!!!
Es un tono simple pero si entendes su logica podrias hacer otras cosas!!!
Explica el script porque se lo que hacer pero no como.
Título: Re:Crear tono con game maker 8
Publicado por: Ciberman en Julio 28, 2013, 05:02:39 AM
No entiendo para qué sirve el operador >>.
podrías explicarlo??
Título: Re:Crear tono con game maker 8
Publicado por: Eggshell en Septiembre 25, 2013, 01:00:23 PM
Interesante... ¿Será posible hacer que el sonido suene directamente en el juego? Es decir, sin la necesidad de guardarlo como wav previamente. Serviría para hacer un sintetizador.