InicioLinuxAprendiendo a programar en Allegro 5 y lenguaje C

Aprendiendo a programar en Allegro 5 y lenguaje C

Linux7/24/2014
Allegro es una librería de programación de videojuegos para el lenguaje C y C++ que no es tan complicada de usar y sin embargo es bastante potente, además de ser multiplataforma (Windows, Linux, Mac). En este artículo veremos un ejemplo básico de Allegro en lenguaje C, con los recursos suficientes para crear una ventana gráfica que incluye un lienzo para poder dibujar figuras básicas como círculos, cuadrados, líneas y más. A propósito, esta librería ya la he utilizado anteriormente en un par de proyectos como un simulador de control de aviones y realmente ofrece muchas cosas enfocadas principalmente a la creación de videojuegos. Instalación de Allegro Para propósitos de este tutorial recomiendo con todo utilizar alguna distro Linux para crear programas con esta librería ya que su instalación y configuración es notablemente más sencilla que en Windows. En todo caso, en alguna distro como Arch basta con instalar la librería mediante pacman -S allegro y listo. Ejemplo A continuación crearemos una ventana con esta librería que nos permita dibujar un círculo en una ventana de fondo verde y cerrarla después de 5 segundos mediante una instrucción del sistema llamada read, que tiene la opción de poner en pausa durante N segundos algún proceso. Para esto hay que guardar el siguiente código en un fichero llamado ejemploAllegroMA.c #include #include #include // Librería inicial de Allegro #include // Addon de primitivas (figuras) #define VENTANA_X 500 #define VENTANA_Y 300 // Redefinición de tipos typedef ALLEGRO_DISPLAY aDisplay; // Variables globales aDisplay *dis = NULL; // Funciones void inicializar(void) { // Inicializar los addons if(!al_init()) { fprintf(stderr, "Error al inicializar Allegro."); // Imprimir errores en stream STDERR exit(-1); } if(!al_init_primitives_addon()) { fprintf(stderr, "Error al inicializar el addon de primitivas."); // Imprimir errores en stream STDERR exit(-2); } dis = al_create_display(VENTANA_X, VENTANA_Y); // Crear el display de tamaño 500x300 píxeles al_set_window_title(dis, "Ejemplo Allegro 5 - www.multiaportes.com"); // Establecer el título de la ventana } void finalizar() { al_shu***_primitives_addon(); // Finalizar el addon de primitivas al_destroy_display(dis); // Destruir la ventana } void colorearPantalla() { al_clear_to_color(al_map_rgb_f(0.0, 1.0, 0.0)); // Limpiar la ventana y establecer un color de fondo RGB (color rojo: R=0=0.0, G=255=1.0, B=0=0.0) } int main(void) { inicializar(); colorearPantalla(); al_draw_filled_circle(200, 160, 130.0, al_map_rgb_f(1.0, 0.0, 1.0)); // Crear un círculo: x = 200px, y = 160px, radio = 130px, color morado: R=255, G=0, B=255 al_flip_display(); // Dibujar en pantalla todo lo almacenado en el buffer, en este caso solamente está el círculo de arriba system("read -t 5"); // Cerrar la ventana después de 5 segundos (Linux) printf("Por Eder Or - www.multiaportes.comn"); finalizar(); return 0; } Para compilar el código escribimos en consola: gcc -l allegro -l allegro_primitives ejemploAllegroMA.c, en el cual indicamos que utilizaremos librerías adicionales del sistema para compilar nuestro código mediante la flag -l. En caso de no añadirlas, el compilador nos mostrará errores del tipo “referencia a ‘alguna_funcion’ no definida”. Finalmente corremos ./a.out y se nos mostrará la ventana gráfica de nuestro ejemplo. Consejos extras Si ya te has adelantado un poco y haces uso de otras librerías de Allegro en Linux, entonces puede que también necesites el nombre de dichas librerías para añadirlas como parámetro al compilador GCC, para eso tendrás que buscarlas con el comando pkg-config --libs LIBRERIA Por ejemplo, para la librería allegro_native_dialog.h necesitas ejecutar pkg-config --libs allegro_dialog-5.0 y éste te devolverá algo como -lallegro_dialog. Posteriormente compilarás tu código con gcc -lallegro_dialog codigo.c ó gcc -l allegro_dialog codigo.c Con todo esto damos por finalizado el primer tutorial de Allegro 5, una librería bastante enfocada a la creación de juegos multiplataforma y que además es Open Source. Como sé que habrán muchas dudas, esas las responderé inmediatamente en los comentarios. Ir al artículo original También pásate por... Aprendie a hacer un efecto reversa en Sony Vegas Aprende a redactar documentos en LaTeX sin salir del post ¿Qué es mejor: Windows o Linux? Mi experiencia con ArchLinux FIN DEL POST
Datos archivados del Taringa! original
23puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

0
0x666🇦🇷
Usuario
Puntos0
Posts8
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.