El siguiente código, por más que intente solucionarlo, no visualiza los gráficos:
import "mod_video";
import "mod_map";
import "mod_screen";
import "mod_key";
Global
Int Graficos;
End
Process Main()
Begin
set_mode(640,480);
set_fps(60,1);
Graficos=load_fpg("prueba.fpg");
Put_screen(graficos,1);
Nave();
Loop
If (key(_esc)) break; end
Frame;
End
Unload_fpg(graficos);
End
Process nave ()
Begin
//No es necesario utilizar la variable FILE porque sólo hemos cargado un FPG
Graph=2;
X=320;
//La nave está a 10 píxeles del extremo inferior de la ventana
Y=435;
Loop
If (key(_left)) x=x-4; end
If (key(_right)) x=x+4; end
If (x>600) x=600; end //Para que la nave no se salga por la derecha
If (x<40) x=40; end //Para que la nave no se salga por la izquierda
Frame;
End
END
Pertenece al capítulo de los matamarcianos, y lo raro eso que uso el Smart fpg editor, el cual me funcionó con TODOS los demás ejemplos de manual.
Primero de todo, utiliza la etiqueta [ code ]
import "mod_video";
import "mod_map";
import "mod_screen";
import "mod_key";
Global
Int Graficos;
End
Process Main()
Begin
set_mode(640,480);
set_fps(60,1);
Graficos=load_fpg("prueba.fpg");
Put_screen(graficos,1);
Nave();
Loop
If (key(_esc)) break; end
Frame;
End
Unload_fpg(graficos);
End
Process nave ()
Begin
//No es necesario utilizar la variable FILE porque sólo hemos cargado un FPG
Graph=2;
X=320;
//La nave está a 10 píxeles del extremo inferior de la ventana
Y=435;
Loop
If (key(_left)) x=x-4; end
If (key(_right)) x=x+4; end
If (x>600) x=600; end //Para que la nave no se salga por la derecha
If (x<40) x=40; end //Para que la nave no se salga por la izquierda
Frame;
End
END
He probado rápidamente ese pedazo de código con un fpg propio y ha funcionado correctamente.
Lo siento pixel, soy un poco lento... No comprendo lo que debo hacer :-\ Ahí te dejo el fpg, el fondo lo puse amarillo para ver si se veía.
Raziel, veo que tu fpg es de 32bits y por defecto Bennu usa 16 (por lo menos en Linux)
Solución: Utiliza gráficos de 16 bits o, mejor aún, en lugar de " set_mode(640,480); " usa " set_mode(640,480,32); "
a mi me va tal cual, Ah, no, cierto, puse set_mode(640,480,32)
para que vaya en 16 bits
Claro, a mí me funcionó porque la versión de Bennu que uso por defecto crea una ventana de 640,480,32bpp
Quote from: PiXeL on February 11, 2013, 04:31:04 PM
Claro, a mí me funcionó porque la versión de Bennu que uso por defecto crea una ventana de 640,480,32bpp
¿Eso es porque es para windows o es porque es una versión mas reciente? No entiendo por que para algunos sitemas se usa 16bpp y para otros 32.
cuando usas la sentencia set_mode, puedes definir o no, la profundidad de color (bpp), asi como el ancho y alto de la pantalla (o ventana) entre otras cosas...
No puedes usar graficos de una profundidad mayor a la que inicializaste....
Muchísimas gracias a todo, problema solucionado. El problema era, extrañamente, que no había especificado el tercer parámetro, por tanto, al poner set_mode (640, 480, 32); el programa se visualizó correctamente.