bleim
12/01/2006, 23:34
Hola!
Sigo sin conseguir redimensionar las imagenes de forma automatica con un programita de fenix, para ahorrarme el hacerlas una a una (y son muchas).
El programita es el siguiente:
---------------------------------------------------------------------------------------
PROGRAM CONVERSOR2X;
GLOBAL
//contador
contador;
fpg_origen; fpg_dest; graph_orig; graph_dest; alto; ancho; //para el cambio
//fpg's nuevos
nfpg_general;
//fpg's antiguos
fpg_general; //cosillas generales como pantalla de presentacion
fpg_marcador; //marcadores
fpg_bonus; //para los bonus
fpg_final; //enemigo final
fpg_vegeta; //se hace carga/descarga de fpgs xa ahorrar memoria
fpg_ken;
fpg_arjona;
fpg_javi;
fpg_hacker;
fpg_pawer;
fpg_agente;
fpg_golpes; //golpes y efectos especiales
fpg_carga; //carga de mana
fpg_pantallas; //pantallas (+adelante carga/descarga)
fpg_raton; //graficos del raton
LOCAL
BEGIN
set_mode(m320x240);
set_title("Conversor de fpgs a mitad de tamaño v1.0");
//carga de fpg's (excepto de los jugadores, que se cargan/descarg dinamicamente)
put(fpg_general,20,160,120); FRAME; //barra al 0 % de carga
fpg_general=load_fpg("fpg/general.fpg");
put(fpg_general,21,160,120); FRAME; //barra al 25 % de carga
fpg_marcador=load_fpg("fpg/marcador.fpg");
fpg_pantallas=load_fpg("fpg/fase1.fpg");
fpg_golpes=load_fpg("fpg/golpes.fpg");
fpg_carga=load_fpg("fpg/carga.fpg");
fpg_raton=load_fpg("fpg/raton.fpg");
put(fpg_general,22,160,120); FRAME; //barra al 50 % de carga
fpg_vegeta=load_fpg("fpg/vegeta.fpg");
fpg_ken=load_fpg("fpg/ken.fpg");
fpg_arjona=load_fpg("fpg/arjona.fpg");
fpg_javi=load_fpg("fpg/javi.fpg");
fpg_hacker=load_fpg("fpg/hacker.fpg");
fpg_pawer=load_fpg("fpg/pawer.fpg");
fpg_agente=load_fpg("fpg/agente.fpg");
//carga de fuentes
put(fpg_general,23,160,120); FRAME; //barra al 75 % de carga
put(fpg_general,24,160,120); FRAME; //barra al 100 % de carga
fade_off(); WHILE(fading) FRAME; END //oscurecemos y borramos la pantalla
nfpg_general=fpg_new();
//TOCAR AQUI
fpg_origen=fpg_general;
fpg_dest=nfpg_general;
for(contador=1;contador<=100;contador++)
graph_orig=map_clone(fpg_origen,contador);
ancho=GRAPHIC_INFO (fpg_origen, contador, g_wide);
alto=GRAPHIC_INFO (fpg_origen, contador, g_height);
graph_dest=new_map(alto/2,ancho/2,16);
map_xput(0,graph_dest,graph_orig,0,0,0,50,0);
fpg_add(fpg_dest,contador,0,graph_orig);
unload_map(0,graph_orig);
end
fade_on(); WHILE(fading) FRAME; END //oscurecemos y borramos la pantalla
write (0,120,140,4,"CONVERSION COMPLETADA");
loop
if (key(_esc)) break; end
frame;
end
//creamos y salvamos el nuevo fpg
//INT SAVE_FPG ( INT librería, STRING fichero )
//TOCAR AQUI
save_fpg(fpg_dest, "nfpg_general.fpg" );
FRAME;
END
---------------------------------------------------------------------------------------
Este programa crea un fpg nuevo, pero es exactamente igual al anterior, excepto que donde antes no habia graficos (por ejemplo tenemos una animacion del numero 1 al 12 y la siguiente animacion del 15-20, pues ahora hay un grafico repe en 13 y 14, que no molesta pero ahi está).
Segun la documentacion:
MAP_XPUT ( INT librería, INT gráfico, INT gráfico-origen, INT x, INT y, INT ángulo, INT tamaño, INT flags, INT region ), es decir 9 campos, pero no va sin quitar el ultimo.
Por tanto debería haber un ",0" al final del xput, pero si lo pongo peta. ¿Qué está pasando? ¿Es por la versión de fenix usada?
Sigo sin conseguir redimensionar las imagenes de forma automatica con un programita de fenix, para ahorrarme el hacerlas una a una (y son muchas).
El programita es el siguiente:
---------------------------------------------------------------------------------------
PROGRAM CONVERSOR2X;
GLOBAL
//contador
contador;
fpg_origen; fpg_dest; graph_orig; graph_dest; alto; ancho; //para el cambio
//fpg's nuevos
nfpg_general;
//fpg's antiguos
fpg_general; //cosillas generales como pantalla de presentacion
fpg_marcador; //marcadores
fpg_bonus; //para los bonus
fpg_final; //enemigo final
fpg_vegeta; //se hace carga/descarga de fpgs xa ahorrar memoria
fpg_ken;
fpg_arjona;
fpg_javi;
fpg_hacker;
fpg_pawer;
fpg_agente;
fpg_golpes; //golpes y efectos especiales
fpg_carga; //carga de mana
fpg_pantallas; //pantallas (+adelante carga/descarga)
fpg_raton; //graficos del raton
LOCAL
BEGIN
set_mode(m320x240);
set_title("Conversor de fpgs a mitad de tamaño v1.0");
//carga de fpg's (excepto de los jugadores, que se cargan/descarg dinamicamente)
put(fpg_general,20,160,120); FRAME; //barra al 0 % de carga
fpg_general=load_fpg("fpg/general.fpg");
put(fpg_general,21,160,120); FRAME; //barra al 25 % de carga
fpg_marcador=load_fpg("fpg/marcador.fpg");
fpg_pantallas=load_fpg("fpg/fase1.fpg");
fpg_golpes=load_fpg("fpg/golpes.fpg");
fpg_carga=load_fpg("fpg/carga.fpg");
fpg_raton=load_fpg("fpg/raton.fpg");
put(fpg_general,22,160,120); FRAME; //barra al 50 % de carga
fpg_vegeta=load_fpg("fpg/vegeta.fpg");
fpg_ken=load_fpg("fpg/ken.fpg");
fpg_arjona=load_fpg("fpg/arjona.fpg");
fpg_javi=load_fpg("fpg/javi.fpg");
fpg_hacker=load_fpg("fpg/hacker.fpg");
fpg_pawer=load_fpg("fpg/pawer.fpg");
fpg_agente=load_fpg("fpg/agente.fpg");
//carga de fuentes
put(fpg_general,23,160,120); FRAME; //barra al 75 % de carga
put(fpg_general,24,160,120); FRAME; //barra al 100 % de carga
fade_off(); WHILE(fading) FRAME; END //oscurecemos y borramos la pantalla
nfpg_general=fpg_new();
//TOCAR AQUI
fpg_origen=fpg_general;
fpg_dest=nfpg_general;
for(contador=1;contador<=100;contador++)
graph_orig=map_clone(fpg_origen,contador);
ancho=GRAPHIC_INFO (fpg_origen, contador, g_wide);
alto=GRAPHIC_INFO (fpg_origen, contador, g_height);
graph_dest=new_map(alto/2,ancho/2,16);
map_xput(0,graph_dest,graph_orig,0,0,0,50,0);
fpg_add(fpg_dest,contador,0,graph_orig);
unload_map(0,graph_orig);
end
fade_on(); WHILE(fading) FRAME; END //oscurecemos y borramos la pantalla
write (0,120,140,4,"CONVERSION COMPLETADA");
loop
if (key(_esc)) break; end
frame;
end
//creamos y salvamos el nuevo fpg
//INT SAVE_FPG ( INT librería, STRING fichero )
//TOCAR AQUI
save_fpg(fpg_dest, "nfpg_general.fpg" );
FRAME;
END
---------------------------------------------------------------------------------------
Este programa crea un fpg nuevo, pero es exactamente igual al anterior, excepto que donde antes no habia graficos (por ejemplo tenemos una animacion del numero 1 al 12 y la siguiente animacion del 15-20, pues ahora hay un grafico repe en 13 y 14, que no molesta pero ahi está).
Segun la documentacion:
MAP_XPUT ( INT librería, INT gráfico, INT gráfico-origen, INT x, INT y, INT ángulo, INT tamaño, INT flags, INT region ), es decir 9 campos, pero no va sin quitar el ultimo.
Por tanto debería haber un ",0" al final del xput, pero si lo pongo peta. ¿Qué está pasando? ¿Es por la versión de fenix usada?