masteries
04/12/2011, 15:48
Editado: El título es "Escalar gráficos y guardarlos en un .fpg", lo que tienen las prisas...
Saludos "compañeros del metal":
He estado intentando escalar gráficos y guardarlos en un .fpg ya escalados, para luego después no tener que utilizar la sentencia "size". Mi intención es guardar los gráficos ya preescalados.
Hasta ahora he estado haciendo esto a mano con Paint Shop Pro 8, pero es una tarea muy tediosa, y con la gran cantidad de sprites que necesito no es una opción viable.
El código que he utilizado es el siguiente, pero de momento no me ha funcionando porque no guarda el gráfico escalado, parece que no obedece a "size", tampoco me funciona la sentencia "save_fpg", no me la reconoce (Fénix 0.92a):
program spriteador;
global
int id_fpg;
int id_graph;
int id_new_graph;
BYTE aux_g;
end
BEGIN
full_screen=false;
set_mode(320,240,16);//Ventana de 320x240 color de 16 bits
set_fps(30,0);//30 fps por segundo
id_fpg=load_fpg("sprite.fpg");
graph=1;
x=160;
y=120;
frame;
for(aux_g=1;aux_g<=26;aux_g++)//empieza en el 1 porque la posición 0 es la original con size=100
switch(aux_g)
case 1:
graph=1;
size=100;
end
case 2:
graph=1;
size=95;
...
...
...
case 26:
graph=1;
size=11;
end
end//fin del switch
fpg_add(id_fpg,aux_g,id_fpg,graph);
frame;
end//fin del for
//fpg_save(id_fpg,"sprite");
write(0,160,10,4,"Comprobando...");
for(aux_g=1;aux_g<=26;aux_g++)
graph=aux_g;//no chuta, obedece al último size,
frame;//por lo que supongo que hace 26 copias iguales en tamaño al
end//original
//save_fpg(id_fpg,"sprites");
delete_text(all_text);
unload_fpg(id_fpg);
exit();
END
Si conoceís alguna manera de hacer esto mismo con algún programa de gráficos en lugar de programando, pues también me valdría.
Gracias anticipadas por las respuestas.
Saludos "compañeros del metal":
He estado intentando escalar gráficos y guardarlos en un .fpg ya escalados, para luego después no tener que utilizar la sentencia "size". Mi intención es guardar los gráficos ya preescalados.
Hasta ahora he estado haciendo esto a mano con Paint Shop Pro 8, pero es una tarea muy tediosa, y con la gran cantidad de sprites que necesito no es una opción viable.
El código que he utilizado es el siguiente, pero de momento no me ha funcionando porque no guarda el gráfico escalado, parece que no obedece a "size", tampoco me funciona la sentencia "save_fpg", no me la reconoce (Fénix 0.92a):
program spriteador;
global
int id_fpg;
int id_graph;
int id_new_graph;
BYTE aux_g;
end
BEGIN
full_screen=false;
set_mode(320,240,16);//Ventana de 320x240 color de 16 bits
set_fps(30,0);//30 fps por segundo
id_fpg=load_fpg("sprite.fpg");
graph=1;
x=160;
y=120;
frame;
for(aux_g=1;aux_g<=26;aux_g++)//empieza en el 1 porque la posición 0 es la original con size=100
switch(aux_g)
case 1:
graph=1;
size=100;
end
case 2:
graph=1;
size=95;
...
...
...
case 26:
graph=1;
size=11;
end
end//fin del switch
fpg_add(id_fpg,aux_g,id_fpg,graph);
frame;
end//fin del for
//fpg_save(id_fpg,"sprite");
write(0,160,10,4,"Comprobando...");
for(aux_g=1;aux_g<=26;aux_g++)
graph=aux_g;//no chuta, obedece al último size,
frame;//por lo que supongo que hace 26 copias iguales en tamaño al
end//original
//save_fpg(id_fpg,"sprites");
delete_text(all_text);
unload_fpg(id_fpg);
exit();
END
Si conoceís alguna manera de hacer esto mismo con algún programa de gráficos en lugar de programando, pues también me valdría.
Gracias anticipadas por las respuestas.