Programación Específica > Allegro

 Problema con un code

(1/1)

vojok:
Hola,soy nuevo en el foro y en allegro ,me meti a aprender allegro de un manual  de Daniel Acuña y no esta bien explicado por ejemplo utiliza la funcion BLIT pero no la explica y la verdad me quede atorado ahi sin poder avanzar alguien me podria explicar que es lo que hace, y sacarme unas dudas que tengo


--- Código: C++ --- #include <allegro.h>#include <iostream.h> int iniciar (){    allegro_init();    install_keyboard();    set_color_depth(16);    if(set_gfx_mode(GFX_AUTODETECT_WINDOWED,640,480,0,0) < 0 )    {       cout<<"Error al iniciar modo grafico"<<endl;       allegro_exit();       exit(-1);    }} void terminar(){     allegro_exit();} void realizar_juego(){     BITMAP *nave;     BITMAP *buffer;     int x,y, x_anterior,y_anterior;          nave=load_bitmap("C:/nave.bmp",0);      if(nave==NULL)terminar();          buffer=create_bitmap(nave->w,nave->h);   //Que es lo que hace el create_bitmap?     clear(buffer);     if(buffer==NULL)terminar();          x=SCREEN_W/2;     y=SCREEN_H/2;              while(!key[KEY_ESC]){        if(key[KEY_UP])    {        y--;    }        if(key[KEY_DOWN])    {        y++;    }        if(key[KEY_RIGHT])    {        x++;    }        if(key[KEY_LEFT])    {        x--;    }        if(x<0) x=x_anterior;    if(x>SCREEN_W-nave->w) x=x_anterior;    if(y<0)y=y_anterior;    if(y>SCREEN_H-nave->h) y=y_anterior; //Aca viene el problemon que no se que hace esto     if ((x_anterior !=x) || (y_anterior!=y))  //aca esta diciendo que si X_anterior no es igual a X que se cumpla lo siguiente NO?    {       blit(buffer,screen,0,0,x_anterior,y_anterior,buffer->w,buffer->h); // aca ya estoy perdido xq no se que hace esta funcion       draw_sprite(screen,nave,x,y); //aca dibuja el sprite en pantalla verdad?    }    x_anterior=x;    y_anterior=y;}  } int main(){    iniciar();      realizar_juego();    terminar();}END_OF_MAIN()  
Y tambien cuando lo ejecuto que muevo al sprite x pantalla tiene el fondo de color azul (el sprite no la pantalla ) como puedo quitarle o acerle transparente el fonde del sprite con Allegro, y tambien tiene un parpadeo cuando muevo al sprite en pantalla ,alguien me podria explicar por favor como solucionar estas cosas? o  me podrian decir algun manual que este bien explicado para poder avanzar en Allegro??

Saludos.

Navegación

[0] Índice de Mensajes

Ir a la versión completa