viernes, 11 de octubre de 2019

ALLEGRO

ALLEGRO (BIBLIOTECA DE PROGRAMACIÓN)

-¿Qué es?    Es una biblioteca libre y de código abierto para la programación de videojuegos desarrollados en lenguaje C. 
La biblioteca cuenta con funciones para gráficos, manipulación de imágenes de texto, sonidos, dispositivos de entrada (teclado, ratón y mandos de juego) y temporizadores.

-¿Cuales son las instrucciones que tiene la librería allegro?   

                                                                            
FUNCIÓN
                                                                    
PROPÓSITO
                           
EJEMPLO


allegro_init ();

-Esta función instala las funciones de allegro.





,|#include <allegro.h>
int main()
{
    allegro_init();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
    readkey();
return 0;
}
END_OF_MAIN()


set_color_depth (32);

-Con esta función hacemos que nuestro juego tenga una profundidad de Color de 32-bits (color verdadero) o con el valor que le demos. Puede ser 8 (para 256 colores), 16, 24 o 32.

,|#include <allegro.h>
int main()
{
    allegro_init();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
    readkey();
return 0;
}
END_OF_MAIN()

set_gfx_mode (GFX_AUTODETECT_WINDOWED, x, y, 0,0);

-Está función creará una ventana de x*y píxeles.


,|#include <allegro.h>
int main()
{
    allegro_init();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
    readkey();
return 0;
}
END_OF_MAIN()


readkey();

-Esta función espera que se oprima una tecla la usaremos para ver la pantalla en este caso.

,|#include <allegro.h>
int main()
{
    allegro_init();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
    readkey();
return 0;
}
END_OF_MAIN()



END_OF_MAIN()

-Esta es la más importante, al final del MAIN escribimos ‘SIN’; para indicar al programa que desinstale los controladores y que finalice allegro.

,|#include <allegro.h>
int main()
{
    allegro_init();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
    readkey();
return 0;
}
END_OF_MAIN()


-Ejemplo  Un ejemplo sencillo en Allegro 4
#include <allegro.h>

int main() 
{
   allegro_init();
   install_keyboard();
   set_color_depth(16);
   set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);

   clear_to_color(screen, makecol(0, 128, 128));
 
   while (!key[KEY_ESC])
   {
      circlefill(screen, rand() % 640, rand() % 480, rand() % 64, makecol(rand() % 256, 0, 0));
   }

   return 0;
}
END_OF_MAIN();

- Ejemplo 2   Un ejemplo equivalente en  Allegro 5

#include <allegro5/allegro.h>
#include <allegro5/allegro_primitives.h>

ALLEGRO_DISPLAY *display = NULL;
ALLEGRO_EVENT_QUEUE *events = NULL;

int main()
{
    al_init();
    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(640, 480);
    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() % 640, rand() % 480, rand() % 64, al_map_rgb(rand() % 256, 0, 0));
        al_flip_display();
    }

}

No hay comentarios.:

Publicar un comentario