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);
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.
No entiendo para qué sirve el operador >>.
podrías explicarlo??
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.