domingo, 8 de enero de 2012

Mi Primer ejemplo

En este primer ejemplo, se realiza el tipico hola mundo, en este caso mi primera ventana. Se debe crear un proyecto, del tipo multimedia -> Allegro aplication.  A continuación el codigo de este ejemplo con comentarios explicando cada comando.


#include <allegro.h>

int main() 
{   
    // inicializa el entorno del allegro
    allegro_init();
    install_keyboard();
   
    // se establece la resolucion grafica
    // modo ventana, 320x240
    set_color_depth(32);
    set_gfx_mode(GFX_AUTODETECT_WINDOWED, 320, 240, 0, 0);
   
    // se crea buffer para contener todo lo que se muestra en nuestra ventana
    // por eso se crea con la misma dimension que la resolucion
    BITMAP *buffer = create_bitmap(320, 240);
    // borra la imagen, rellenandola con un color
    clear_to_color(buffer, 0x999999);
   
    // muestra un texto, en una posicion x= 160, y=25, con unos colores
    // 0xFFFFFF = blanco   0x999999 = gris   
    textout_centre_ex(buffer, font, "Mi Primera Ventana", 160, 25, 0xFFFFFF, 0x999999);
   
    // Vuelca el contenido de nuestra imagen sobre la pantalla para mostrarlo   
    blit(buffer, screen, 0, 0, 0, 0, 320, 240);
   
    // para realizar una pausa, espera a que se pulse una tecla
    readkey();
   
    // antes de salir se debe liberar la memoria ocupada por la imagen
    // elimina la imagen creada
    destroy_bitmap(buffer);
   
    return 0;
}
END_OF_MAIN();


4 comentarios:

  1. Hola soy el que últimamente se la pasa molestándote por YouTube.
    Bueno antes que nada felicidades por la página me es de gran ayuda.
    En el código vi que usas el sistema de colores RGB , ¿es muy necesario o se puede hacer de otra forma?
    Saludos.

    ResponderEliminar
    Respuestas
    1. En el comando textout_centre_ex, su definicion es la siguiente :

      void textout_centre_ex(BITMAP *bmp, const FONT *f, const char *s, int x, y, int color, int bg);

      Si te fijas los dos ultimos campos son enteros (int), que son los que se encarga del color RGB.

      A la hora de utilizar el comando tu puedes poner directamente un numero decimal 16777215, este concretamente representa al blanco. El problema que se plantea al usarlo asi es que no sabes de que color se trata. Por ello, puedes utilizar otras formas a la hora de representar dicho numero.

      De forma hexadecimal 0x000000 como se utiliza en el ejemplo, o utilizando el comando makecol.

      por ejemplo:
      16777215 = 0XFFFFFF = makecol( 255, 255, 255)
      10066329 = 0X999999 = makecol( 153, 153, 153)

      por tanto:

      textout_centre_ex(buffer, font, "Mi Primera Ventana", 160, 25, 0xFFFFFF, 0x999999);

      es equivalente a lo siguiente:

      textout_centre_ex(buffer, font, "Mi Primera Ventana", 160, 25, makecol(255,255,255), makecol(153,153,153));

      Eliminar
  2. Buenas, soy un nuevo subcriptor en tu canal y un nuevo usuario en tu pagina, realmente me sirve mucho.. gracias

    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...