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
|
No hay comentarios.:
Publicar un comentario