martes, 1 de octubre de 2019

Allegro

Allegro

¿Qué es?
Allegro (pronunciado alegro) es una biblioteca libre y de código abierto para la programación de videojuegos desarrollada en lenguaje C. Allegro es un acrónimo de «Atari Low Level Game Routines» (rutinas de bajo nivel para videojuegos).
La biblioteca cuenta con funciones para gráficos, manipulación de imágenes, texto, sonidos, dispositivos de entrada (teclado, ratón y mandos de juego) y temporizadores, así como rutinas para aritmética de punto fijo y acceso al sistema de archivos. Hasta agosto de 2011, hay 2 versiones de Allegro que cuentan con soporte oficial por parte de los desarrolladores, la versión clásica (Allegro 4) y la nueva versión (Allegro 5). La versión más reciente de Allegro 4 incluye soporte para el manejo de archivos de datos y una implementación por software de funciones para gráficos en 3D. La versión 5 de Allegro cuenta con una nueva API y cambia la implementación por software de las rutinas gráficas por una implementación basada en OpenGL o Direct3D.


Instrucciones
Propósito
ejemplo
allegro_init();
En este punto estamos llamando a la librería, todavía hasta acá no está haciendo nada pero, desde acá podemos empezar a utilizar las funciones de allegro.
allegro_exit();
Aquí cerramos la librería, llamamos esta función porque ya la vamos a utilizar más
END _ OF _ MAIN();
Receta de cocina, necesario para que funcione en Unix/Linux, pero no afecta el código en Windows.
install_keyboard();
Le entrega al allegro el control del teclado, lo que nos permitirá utilizar sus funciones para capturar datos
set _ color _ depth(8);
Especifica la profundidad de color a la que deseamos trabajar (8,16,32 bits), la profundidad por defecto es 8 bits, mientras más alta es más lento y más bonito.
set _gfx_mode(GFX_AUTODETECT,800,600,0,0);
Inicia el modo gráfico. Resolución de la pantalla que deseemos abrir (800x600 pixels) allegro permite abrir cualquier resolución que soporte la tarjeta de video.
void textprintf(Bitmap* bmp, font f, int x, int y, int c, char* formato, var1, var2, ... , varn);
Estas funciones me permiten imprimir variables y texto en un Bitmap
char* s1=”hola mundo”; int c=1; textprintf(screen,font,300,300,15,”%s , %d”,s1,c);
void textout(Bitmap* bmp, font f, char* cad,int x, int y, int c);
Imprime en bmp, con la fuente f, en la posicion (x,y) y del color c la cadena cad
textmode(15); textout(screen,font,” c ”,10,10,0);
int rectfill(Bitmap *bmp,int x1,int y1, int x2,int y2, int c);
Dibuja un rectángulo, desde la posición (x1,y1) hasta la posición (x2,y2) de bmp relleno con el color c, y sin borde.
void circle(Bitmap *bmp,int x,int y,int r,int c);
Dibuja un circulo de radio r con centro (x,y) de bmp y de color de borde c, sin relleno.
void circlefill(Bitmap *bmp,int x,int y,int r,int c);
Dibuja un circulo de radio r con centro (x,y) de bmp y de color de relleno c y sin borde.
int floodfill(Bitmap *bmp,int x,int y, int c);
Rellena con el color c, un área cerrada, empezando por x,y.
int readkey(void);
Detiene la ejecución del programa en espera de que presionen UNA sola tecla, devuelve el código ascii, de la tecla presionada, NO imprime en pantalla la tecla presionada.
int c; c=readkey(); textprintf(screen, font, 10,10, 15,”Tecla presionada=%c”,c);
int keypressed(void);
Esta función devuelve 1 cuando se ha presionado una tecla y sigue, en este estado hasta que se limpie el buffer de teclado.
int clear _ keybuf(void);
int clear _ keybuf(void);
void show _ mouse(Bitmap *bmp);
Muestra el cursor del ratón en el Bitmap bmp, por lo general screen, para quitar el mouse de bmp usar show_mouse(NULL).
void scare _ mouse(void);
Esconde el cursor del ratón, aunque este siga estando allí, necesario cuando se va a dibujar algo en el mismo bitmap en que esta el mouse.
void position_mouse(void);
Lleva el mouse a la posición x,y
int mouse _ x; int mouse _y;
Variables globales que contienen en todo momento, la posición del ratón