Una vez tengamos CodeBlocks abierto nos vamos a la pestaña "Settings" >> "Compiler and Debugger..." y en la ventana que se nos abrirá haremos click en la pestaña "Linker Settings".
Dentro se nos mostrarán dos bloques: "Link libraries" y "Other linker options". Debemos introducir la siguiente información:
- Link libraries:
/usr/lib/liballegro_dialog.so
/usr/lib/liballegro_color.so
/usr/lib/liballegro_audio.so
/usr/lib/liballegro_image.so
/usr/lib/liballegro_physfs.so
/usr/lib/liballegro.so
/usr/lib/liballegro_font.so
/usr/lib/liballegro_acodec.so
/usr/lib/liballegro_main.so
/usr/lib/liballegro_memfile.so
/usr/lib/liballegro_primitives.so
/usr/lib/liballegro_ttf.so - Other linker options
`pkg-config --libs allegro-5.0`
#include <iostream>
#include <allegro5/allegro.h>
#include <allegro5/allegro_primitives.h>
using namespace std;
#define WIDTH 640
#define HEIGHT 480
int main(int argc, char **argv)
{
srand(time(NULL));
ALLEGRO_DISPLAY *display = NULL;
ALLEGRO_EVENT_QUEUE *events = NULL;
if(!al_init()) {
cerr << "fallo al iniciar allegro!" << endl;
return -1;
}
al_install_keyboard();
al_set_new_display_option(ALLEGRO_SINGLE_BUFFER, 1, ALLEGRO_REQUIRE);
al_set_new_display_flags(ALLEGRO_WINDOWED);
display = al_create_display(WIDTH, HEIGHT);
if(!display) {
cerr << "fallo al crear el display!" << endl;;
return -1;
}
al_init_primitives_addon();
events = al_create_event_queue();
al_register_event_source(events, al_get_keyboard_event_source());
al_clear_to_color(al_map_rgb(0,128,128));
while(al_is_event_queue_empty(events))
{
al_draw_filled_circle(
rand()%WIDTH, rand()%HEIGHT, rand()%64,
al_map_rgb(rand()%256, 0, 0));
al_flip_display();
al_rest(1.0);
}
al_destroy_display(display);
return 0;
}
Una vez hecho esto no tenemos más que empezar a programar nuestros videojuegos.
Una cosa curiosa es que a mi, el fondo turquesa me aparece solo en la esquina superior derecha. Entiendo que debería ocupar todo el fondo. No és así?
ResponderEliminarEl programa me compila pero al ejecutar me aparece error al cargar libatk-bridge.so , estoy utilizando red hat, y seguí las instrucciones aquí mencionadas
ResponderEliminarPerdón ya me funciono... el detalle era que había tratado de configurar anteriormente gtk... y una biblioteca de gtk quedo en mis opciones de compilador.. muchas gracias...
EliminarDato: en la pestaña "link libraries" puede ser una ruta diferente la de las librerias para los usuarios debian (o, dependiendo de como haya sido la instalación; mediante repositorios tal ves?), por ejemplo:
ResponderEliminarusr/lib/i386-linux-gnu/nombre_de_la_libreria.so
Y en "other linker options" otra opcion es poner solamente:
-lallegro
Si, ya se que deberia ser lo mismo, pero quien lo diría, no?